如何用Selenium和Node.js移除Chrome的“受自动化测试软件控制”提示栏?
移除Chrome自动化控制提示栏的可行方案
针对Node.js + Selenium WebDriver环境下无法移除“Chrome is being controlled by automated test software”提示栏的问题,你可以尝试以下完整配置方案,补充之前缺失的关键参数:
const { Builder } = require('selenium-webdriver'); const chrome = require('selenium-webdriver/chrome'); async function initChrome() { let options = new chrome.Options(); // 核心参数组合 options.addArguments('--disable-infobars'); options.addArguments('--disable-blink-features=AutomationControlled'); options.addArguments('--no-sandbox'); options.addArguments('--disable-dev-shm-usage'); options.addArguments('--disable-extensions'); // 禁用自动化扩展并排除自动化开关 options.set('excludeSwitches', ['enable-automation']); options.set('useAutomationExtension', false); // 启动浏览器 let driver = await new Builder() .forBrowser('chrome') .setChromeOptions(options) .build(); return driver; } initChrome();
关键补充说明:
useAutomationExtension: false:这是你之前代码缺失的核心参数,它会禁用Selenium默认安装的自动化扩展,而该扩展正是触发提示栏的原因之一。- 确保所有相关参数都正确添加,参数顺序不影响最终效果。
- 若使用Chrome 115+版本仍有问题,可额外添加
--start-maximized参数,部分场景下最大化窗口可视觉上隐藏提示栏。
部分RPA工具也是基于类似参数组合实现无提示自动化,上述方案和它们的核心逻辑一致。
内容的提问来源于stack exchange,提问作者rlal
相关产品推荐
相关产品推荐

