【问题标题】:Chromedriver won't run as root despite --no-sandbox option尽管 --no-sandbox 选项,Chromedriver 不会以 root 身份运行
【发布时间】:2019-02-15 15:42:07
【问题描述】:

我无法让 Chromedriver 在 Docker 中运行,而且我似乎正在根据需要传递所有内容,但它仍然会引发“带有沙盒的根”错误并退出。

2019-02-15 15:30:22 INFO : Using chromedriver set in webdriver.chrome.driver: /usr/bin/google-chrome
2019-02-15 15:30:22 INFO : Setting ChromeDriver options {browserName=chrome, goog:chromeOptions={args=[--start-maximized, headless, --no-sandbox], extensions=[], prefs={profile.default_content_settings.popups=0, download.prompt_for_download=false, download.default_directory=/home/jenkins/workspace/..../}}}
[1036:1036:0215/153022.769651:ERROR:zygote_host_impl_linux.cc(89)] Running as root without --no-sandbox is not supported. See https://crbug.com/638180.
Feb 15, 2019 3:30:42 PM org.openqa.selenium.os.OsProcess checkForError
SEVERE: org.apache.commons.exec.ExecuteException: Process exited with an error: 1 (Exit value: 1)
Failure in before hook:Hooks.getDriver(Scenario)

我已经记录了 ChromeOptions 内容,很明显 args 包含 --no-sandbox - 这可能是什么问题?


  • 谷歌浏览器 70.0.3538.77
  • org.seleniumhq.selenium:selenium-chrome-driver:jar: 3.141.59

类似于How to run selenium chromedriver as root? (not working even with --no-sandbox,但这已通过 Python 依赖项解决 - 这是一个 Java 项目。


我还在 Maven 命令中添加了-Dwebdriver.chrome.args="--no-sandbox"

【问题讨论】:

  • 您使用的是哪个版本的 ChromeDriver? Chrome v70 应该是 ChromeDriver 2.45
  • 我看看能不能找到,但我认为 2.xx 是 Python 的东西?它安装了 Chrome 70,这不是 Java 之外的唯一依赖项吗?如果是这种情况,我将 chromedriver 指向 chrome 本身,这可能是错误的。
  • 原来我使用的是 Chromedriver 2.43。我会尝试更新到 2.45。
  • 谢谢@JensDibbern - 这是问题的根源,强制使用正确的版本可以解决这个问题。你能发布一个答案,我会接受吗?如果您有一个链接到某个页面的链接,该链接列出了 Chrome 需要哪个 Chrome 驱动程序也添加了该链接,那么拥有该信息将非常有用。
  • 在什么情况下你想以root身份运行?

标签: java selenium selenium-webdriver selenium-chromedriver


【解决方案1】:

您必须使用匹配的 Chrome 和 ChromeDriver 版本才能使 Selenium 正常工作。 http://chromedriver.chromium.org/downloads 有一个列表。

在这篇文章的时间:

  • 如果您使用的是Chrome 73版本,请下载ChromeDriver 73.0.3683.20
  • 如果您使用的是 Chrome 72 版本,请下载 ChromeDriver 2.46 或 ChromeDriver 72.0.3626.69
  • 如果您使用的是 Chrome 版本 71,请下载 ChromeDriver 2.46 或 ChromeDriver 71.0.3578.137

【讨论】:

  • 谢谢!看起来版本号与 v73 对齐?我希望如此,这会让事情变得更容易。
猜你喜欢
  • 2018-07-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-07-29
  • 2013-12-19
  • 2022-09-29
相关资源
最近更新 更多