WebDriverException: Message: unknown error: Chrome failed to start: exited abnormally with ChromeDriver Chrome and Selenium on debian server
WebDriverException: Message: unknown error: Chrome failed to start: exited abnormally with ChromeDriver Chrome and Selenium on debian server
我尝试 运行 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 无法 initiate/spawn 一个新的 WebBrowser 即 Chrome 浏览器 会话。
您的主要问题是您使用的二进制文件版本之间不兼容,如下所示:
- 您正在使用 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 非常古老。
因此 Chrome驱动程序 v2.9 和 Chrome 浏览器 v76.0
解决方案
确保:
- Selenium 已升级到当前级别 Version 3.141.59。
- Chrome驱动程序 已更新至当前 ChromeDriver v76.0 级别。
- Chrome 已更新至当前 Chrome 版本 76.0 级别。 (根据 ChromeDriver v76.0 release notes)
- 通过IDE和[=41]清理您的项目工作区 =]重建你的项目只需要依赖。
- 如果您的基础 Web Client 版本太旧,则通过 Revo Uninstaller 卸载它并安装最新的 GA 和发布版本的 Web Client .
- 系统重启。
- 以 非 root 用户身份执行您的
@Test
。
- 始终在
tearDown(){}
方法中调用 driver.quit()
以优雅地关闭和销毁 WebDriver 和 Web Client 实例.
参考资料
您可以在以下位置找到一些相关讨论:
我尝试 运行 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 无法 initiate/spawn 一个新的 WebBrowser 即 Chrome 浏览器 会话。
您的主要问题是您使用的二进制文件版本之间不兼容,如下所示:
- 您正在使用 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 非常古老。
因此 Chrome驱动程序 v2.9 和 Chrome 浏览器 v76.0
解决方案
确保:
- Selenium 已升级到当前级别 Version 3.141.59。
- Chrome驱动程序 已更新至当前 ChromeDriver v76.0 级别。
- Chrome 已更新至当前 Chrome 版本 76.0 级别。 (根据 ChromeDriver v76.0 release notes)
- 通过IDE和[=41]清理您的项目工作区 =]重建你的项目只需要依赖。
- 如果您的基础 Web Client 版本太旧,则通过 Revo Uninstaller 卸载它并安装最新的 GA 和发布版本的 Web Client .
- 系统重启。
- 以 非 root 用户身份执行您的
@Test
。 - 始终在
tearDown(){}
方法中调用driver.quit()
以优雅地关闭和销毁 WebDriver 和 Web Client 实例.
参考资料
您可以在以下位置找到一些相关讨论: