我尝试在Debian服务器8.11上运行Selenium Webdriver并收到错误。

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

网络驱动程序: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浏览器会话。

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


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



  支持Chrome v31-34



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



  支持Chrome版本76



我们不知道您的Selenium Client版本。
您提到的JDK版本是1.7.0_221,这非常古老。


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





确保这件事:


硒已升级到当前水平Version 3.141.59
ChromeDriver已更新为当前的ChromeDriver v76.0级别。
Chrome已更新为当前的Chrome版本76.0。 (根据ChromeDriver v76.0 release notes
通过IDE清理项目工作区,并仅使用必需的依赖项重建项目。
如果您的基本Web客户端版本太旧,请通过Revo Uninstaller卸载它并安装最新的GA和Web客户端的发行版本。
进行系统重启。
以非root用户身份执行@Test
始终在driver.quit()方法中调用tearDown(){}以正常关闭和销毁WebDriver和Web Client实例。




参考文献

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


Message: unknown error: Chrome failed to start: exited abnormally on AWS Cloud9 with Linux 4.9.85-38.58.amzn1.x86_64 x86_64
WebDriverException: Message: unknown error: Chrome failed to start: exited abnormally with ChromeDriver Chrome and Selenium through Python on VPS
WebDriverException: Message: unknown error: Chrome failed to start: exited abnormally with ChromeDriver Chrome and Selenium through Python on VPS

关于python - WebDriverException:消息:未知错误:Chrome无法启动:在Debian服务器上使用ChromeDriver Chrome和Selenium异常退出,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57475757/

10-15 16:30