selenium.common.exceptions.WebDriverException: Message: 未知错误:Chrome无法启动:使用ChromeDriver时异常退出

3

我正在尝试在Linux服务器上运行网络爬虫。完整的错误信息如下:

selenium.common.exceptions.WebDriverException: Message: unknown error: Chrome failed to start: exited abnormally 
(Driver info: chromedriver=2.10.267518,platform=Linux 4.4.0-141-generic x86_64)

我在stackoverflow上看到了类似的问题,解决方法是包括“--headless”和“--no-sandbox”的参数。但是,我已经这样做了。

我能够在本地运行此代码,但是我无法在服务器上使其工作。

我还检查了所有内容是否都是最新的,而且确实如此。

ChromeDriver 2.10.267518
selenium     3.141.0

以下是错误发生的代码片段。

options.add_argument('--headless')
options.add_argument('--no-sandbox')

caps = DesiredCapabilities.CHROME
caps['loggingPrefs'] = {'performance': 'ALL'}

driver = webdriver.Chrome(options=options, desired_capabilities=caps, executable_path='/usr/local/bin/chromedriver')

我也尝试过运行上面的代码,但没有使用executable_path选项,但仍然遇到了相同的错误。


看起来你的Chrome驱动程序版本非常旧。顺便问一下,你正在使用哪个版本的Chrome浏览器? - KunduK
2个回答

2

我使用的配置文件将header值设置为True,因此代码尝试在浏览器中运行并失败。这是一个愚蠢的错误,但我还是发布了解决方案,以防对其他人有帮助。

我还必须删除下面的行:

Original Answer翻译成"最初的回答"

options.add_argument('--no-sandbox')

and change this line

options.add_argument('--headless')

to

options.add_argument('headless')

1
这个错误信息...
selenium.common.exceptions.WebDriverException: Message: unknown error: Chrome failed to start: exited abnormally 
(Driver info: chromedriver=2.10.267518,platform=Linux 4.4.0-141-generic x86_64)

这段文字意味着ChromeDriver无法启动/生成新的WebBrowser,即Chrome浏览器会话。你主要的问题在于以下二进制文件版本不兼容:

支持Chrome v33-36

  • 可能你正在使用最新的chrome=72.0
  • ChromeDriver v2.46的发行说明明确提到:

支持Chrome v71-73

所以,ChromeDriver v2.10Chrome Browser v72.0 之间存在明显的不匹配。

解决方案

  • ChromeDriver 升级到当前版本的 ChromeDriver v2.46
  • 保持 Chrome 版本在 Chrome v71-73 之间。 (根据 ChromeDriver v2.45 发布说明)
  • 通过你的 IDE 清理你的 项目工作空间,并仅使用所需的依赖重新构建项目。
  • 如果你的基本 Web 客户端 版本过旧,则卸载它并安装最新的正式发布版本的 Web 客户端
  • 进行 系统重启
  • 执行你的 @Test

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接