python - WebDriver异常: Message: unknown error: Chrome failed to start: exited abnormally with ChromeDriver Chrome and Selenium on debian server

标签 python selenium google-chrome debian selenium-chromedriver

我尝试在 debian 服务器 8.11 上运行 selenium webdriver 并收到错误。

Java:java版本“1.7.0_221”,OpenJDK运行时环境(IcedTea 2.6.18)

Webdriver:ChromeDriver (v2.9.248304)

源代码:

from selenium import webdriver
from pyvirtualdisplay import Display

display = Display(visible=0, size=(800, 800))
display.start()
co = webdriver.ChromeOptions()
co.add_argument("--user-data-dir=profile")
browser = webdriver.Chrome('/usr/local/bin/chromedriver', options=co)
browser.get('example.com')
browser.quit()
display.close()

我收到此错误:

Traceback (most recent call last):
  File "/bin/selenium", line 11, in <module>
    browser = webdriver.Chrome('/usr/local/bin/chromedriver', options=co)
  File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/chrome/webdriver.py", line 81, in __init__
    desired_capabilities=desired_capabilities)
  File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/webdriver.py", line 157, in __init__
    self.start_session(capabilities, browser_profile)
  File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/webdriver.py", line 252, in start_session
    response = self.execute(Command.NEW_SESSION, parameters)
  File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/webdriver.py", line 321, in execute
    self.error_handler.check_response(response)
  File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/errorhandler.py", line 242, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: unknown error: Chrome failed to start: exited abnormally
  (Driver info: chromedriver=2.9.248304,platform=Linux 4.9.0-0.bpo.9-amd64 x86_64)

我尝试了几种解决方案,但没有任何效果......

最佳答案

此错误消息...

selenium.common.exceptions.WebDriverException: Message: unknown error: Chrome failed to start: exited abnormally
  (Driver info: chromedriver=2.9.248304,platform=Linux 4.9.0-0.bpo.9-amd64 x86_64)

...意味着 ChromeDriver 无法启动/生成新的 WebBrowser,即 Chrome 浏览器 session 。

您的主要问题是您使用的二进制文件版本之间不兼容,如下所示:

  • 您正在使用 chromedriver=2.9
  • chromedriver=2.9 的发行说明明确提到以下内容:

Supports Chrome v31-34

  • 大概您使用的是 chrome= 76.0
  • ChromeDriver v76.0 的发行说明明确提到以下内容:

Supports Chrome version 76

  • 我们未知您的Selenium 客户端版本。
  • 您提到JDK版本是1.7.0_221,这是相当古老的。

因此,ChromeDriver v2.9Chrome 浏览器 v76.0 之间存在明显的不匹配

<小时/>

解决方案

确保:

  • Selenium 升级至当前级别 Version 3.141.59 .
  • ChromeDriver 已更新为当前 ChromeDriver v76.0级别。
  • Chrome 已更新至当前 Chrome 版本 76.0 级别。 (根据 ChromeDriver v76.0 release notes )
  • 通过IDE清理您的项目工作区,并仅使用所需的依赖项重建项目。
  • 如果您的基本网络客户端版本太旧,请通过 Revo Uninstaller 卸载它并安装最新的 GA 和已发布版本的Web 客户端
  • 重新启动系统
  • 非root用户身份执行@Test
  • 始终在 tearDown(){} 方法中调用 driver.quit() 来关闭和销毁 WebDriverWeb Client 优雅地实例化。
<小时/>

引用文献

您可以在以下位置找到一些相关讨论:

关于python - WebDriver异常: Message: unknown error: Chrome failed to start: exited abnormally with ChromeDriver Chrome and Selenium on debian server,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57475757/

相关文章:

python - 列表中包含的元组和字典

python - WebDriverException : Message: Service chromedriver unexpectedly exited. 状态代码为:127,在 Ubuntu 中使用 ChromeDriver 和 Selenium

java - Selenium 驱动程序选择错误

java - Selenium WebDriver - getCssValue() 方法

selenium - 尝试通过geb启动Internet Explorer时,将打开firefox

firefox - 有谁知道是否有 Chrome 插件可以让 FireFox 扩展在 Chrome 中工作?

python - 如何将多个元组中的第一个元素作为字典中的键返回

python - 将 Django 应用程序部署到 Elastic Beanstalk 时出现内部服务器错误 500

google-chrome - 删除 Chrome input=time 中的秒数

css - 我如何在 Firefox 中始终显示停止或重新加载按钮,但不同时显示两者