【问题标题】:Chromedriver fails when runs from Jenkins or linux console从 Jenkins 或 linux 控制台运行时 Chromedriver 失败
【发布时间】:2019-01-17 06:35:07
【问题描述】:
最后一个 chromedriver 有问题。每次都失败并出现以下错误:
启动 ChromeDriver 2.45.615279
(12b89733300bd268cff3b78fc76cb8f3a7cc44e5) 在端口 2393 上仅本地
允许连接。 org.openqa.selenium.WebDriverException:
未知错误:Chrome 启动失败:异常退出
浏览器版本是
版本 71.0.3578.98(官方版本)(64 位)
当我从 Eclipse 运行时,一切正常,不会失败。仅当我从 Jenkins 或 Linux 控制台运行时才会失败。 chromedriver 进程在 Linux 上仍然挂起。有解决办法吗?
【问题讨论】:
标签:
linux
jenkins
selenium-webdriver
selenium-chromedriver
【解决方案1】:
尝试添加--no-sandbox 标志:
ChromeOptions ChromeOptions = new ChromeOptions();
ChromeOptions.addArguments("--headless", "window-size=1024,768", "--no-sandbox");
driver = new ChromeDriver(ChromeOptions);
或者,有些人得到了--single-process 选项的帮助,正如here 所建议的那样。
【解决方案2】:
修复隐藏在上面的答案中。对我来说,解决此问题所需的唯一选择是以无头模式运行 chrome。
ChromeOptions options = new ChromeOptions().setHeadless(true);
WebDriver driver = new ChromeDriver(options);
结果:现在测试运行成功,没有任何错误。