解决 "chrome is being controlled by automated test software" 或 "chrome正受到自动测试软件的控制"

最近使用Python+selenium进行网页截图, 结果启动Chrome浏览器后老是提示"chrome is being controlled by automated test software" (我的浏览器是英文版的), 导致全屏截图时少了一截.

查了网上的大部分解决办法都是启动时加载配置disable-inforbars

但是在我的配置上并不生效, 后来找到了一个能觉得的答案, 记录在此, 希望多其他人也有帮助.

不过这个可以去除inforbars,但是又会弹出一个开发模式的提示,不过这个新的提示不影响截图效果,所以不管它.

from selenium import webdriver

options=webdriver.ChromeOptions()
options.add_experimental_option("excludeSwitches", ['enable-automation']) #去除inforbars的具体配置
driver = webdriver.Chrome(options=options) #启动时加载配置
driver.fullscreen_window() #全屏

 

### 隐藏 Chrome 在被自动化测试软件控制的消息 通过 `chromedp` 使用 Golang 控制 Chrome 浏览器时,默认情况下会在浏览器窗口底部显示一条消息:“Chrome is being controlled by automated test software”。这是由于启动参数中默认包含了 `--automation-name=Chromedriver` 类似的标志。 要隐藏这条消息,可以通过设置自定义的命令行参数来实现。具体方法是在初始化 `chromedp` 的选项时移除该标志并替换为其他参数。以下是详细的解决方案: #### 解决方案 为了隐藏此消息,可以禁用自动化名称标志,并添加一些额外的配置项以确保功能常运行。以下是一个完整的代码示例[^1]: ```go package main import ( "context" "log" "time" "github.com/chromedp/chromedp" ) func main() { // 创建上下文对象 ctx, cancel := chromedp.NewContext(context.Background()) defer cancel() // 设置超时时间 ctx, cancel = context.WithTimeout(ctx, 30*time.Second) defer cancel() // 定义任务列表 var tasks chromedp.Tasks tasks = append(tasks, chromedp.Navigate(`https://www.example.com`), ) // 启动 Chrome 并应用特定的启动参数 err := chromedp.Run(ctx, chromedp.ActionFunc(func(ctx context.Context) error { return chromedp.Evaluate( `Object.defineProperty(navigator, "webdriver", {get: () => undefined})`, nil).Do(ctx) }), chromedp.Args([]string{ "--disable-infobars", // 禁用信息栏(即“Chrome受到自动测试软件控制”) "--no-sandbox", "--start-maximized", // 最大化窗口 "--disable-gpu", // 禁用GPU加速(可选) "--window-size=1920,1080", // 设置窗口大小 "--ignore-certificate-errors", // 忽略证书错误 }...), tasks...) if err != nil { log.Fatal(err) } } ``` 上述代码的关键部分在于以下几个方面: - **禁用信息栏**:通过传递 `--disable-infobars` 参数,可以直接关闭提示信息。 - **修改 navigator.webdriver 属性**:某些网站会检测 `navigator.webdriver` 是否存在,因此将其重写为未定义 (`undefined`) 可有效规避此类检测。 以上操作能够有效地隐藏 “Chrome is being controlled by automated test software” 这条消息。 --- ### 注意事项 尽管这些技术可以帮助隐藏自动化痕迹,但在实际环境中仍需注意可能存在的反爬虫机制其他安全措施。如果目标站点启用了更高级别的检测手段,则需要进一步优化策略。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值