ChromeDriver运行测试时每次弹出I Agree弹窗导致测试中断问题求助
确认你已经安装与本地Chrome浏览器版本匹配的ChromeDriver的前提下,按以下方案操作即可解决弹窗拦截问题:
解决方案
这个弹窗是Chrome针对新配置用户的默认隐私协议校验提示,不需要手动点击处理,在启动ChromeDriver时添加指定启动参数即可直接跳过。
核心启动参数
你需要在Chrome配置项中添加以下参数:
--disable-first-run-ui:禁用首次启动引导界面--no-default-browser-check:跳过默认浏览器检查--disable-search-engine-choice-screen:关闭搜索引擎选择弹窗--accept-lang=zh-CN:指定浏览器语言为简体中文,避免触发境外地区的隐私校验弹窗
代码示例
Python(Selenium 3/4通用)
from selenium import webdriver from selenium.webdriver.chrome.options import Options chrome_options = Options() # 添加跳过弹窗的核心参数 chrome_options.add_argument("--disable-first-run-ui") chrome_options.add_argument("--no-default-browser-check") chrome_options.add_argument("--disable-search-engine-choice-screen") chrome_options.add_argument("--accept-lang=zh-CN") # 可选:添加无痕模式参数进一步规避默认配置干扰 chrome_options.add_argument("--incognito") driver = webdriver.Chrome(options=chrome_options) # 后续写入你的测试逻辑即可
Java(Selenium 4.x)
import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; import org.openqa.selenium.chrome.ChromeOptions; public class AutoTest { public static void main(String[] args) { ChromeOptions options = new ChromeOptions(); options.addArguments("--disable-first-run-ui"); options.addArguments("--no-default-browser-check"); options.addArguments("--disable-search-engine-choice-screen"); options.addArguments("--accept-lang=zh-CN"); WebDriver driver = new ChromeDriver(options); // 后续写入你的测试逻辑即可 } }
兜底方案
如果以上参数配置后仍偶现弹窗,可以在启动浏览器后添加3秒等待,直接定位同意按钮点击即可,对应按钮元素的通用Xpath为//*[text()='I Agree']或//*[text()='同意']。
你遇到的弹窗截图如下:


内容的提问来源于stack exchange,提问作者karamet alamet
相关产品推荐
相关产品推荐

