Selenium Cucumber配置Headless模式后仍启动Chrome浏览器问题
解决Chrome Headless模式仍启动浏览器的问题
核心修复方案
- 替换为新版Headless参数:Chrome 96及以上版本中,旧的
--headless参数会启动一个简化的无头环境(部分场景仍会弹出浏览器窗口),需替换为新的标准Headless模式参数:options.addArguments("--headless=new"); - 校验版本匹配性:确保ChromeDriver的版本与本地安装的Chrome浏览器主版本号完全一致,版本不匹配会导致配置参数失效。
- 补充必要辅助参数:部分环境下需添加额外参数避免触发窗口弹出:
options.addArguments("--disable-gpu"); options.addArguments("--window-size=1920,1080"); options.addArguments("--no-sandbox"); // Linux环境下必填 - 排查代码覆盖问题:确认代码中没有后续重新初始化
ChromeDriver时未传入配置好的options,或存在其他修改ChromeOptions参数的逻辑。
完整可用示例代码
ChromeOptions options = new ChromeOptions(); // 启用新版Headless模式 options.addArguments("--headless=new"); // 添加辅助参数 options.addArguments("--disable-gpu"); options.addArguments("--window-size=1920,1080"); options.addArguments("--no-sandbox"); // 初始化驱动 driver = new ChromeDriver(options);
内容的提问来源于stack exchange,提问作者Abhishek Aggarwal
相关产品推荐
相关产品推荐

