[英]WebDriverException: Message: unknown error: Chrome failed to start: exited abnormally using Selenium ChromeDriver and Chrome through WebDriverManager
[英]WebDriverException: Message: unknown error: Chrome failed to start: exited abnormally with ChromeDriver Chrome and Selenium through Python on VPS
所以我有与这些帖子完全相同的错误
我尝试了他们推荐的方法,但没有奏效。
这是我的代码
from pyvirtualdisplay import Display
from selenium import webdriver
display = Display(visible=0, size=(800, 600))
display.start()
options = webdriver.ChromeOptions()
options.add_argument('--no-sandbox')
options.add_argument('--disable-extensions')
options.add_argument('--headless')
options.add_argument('--disable-gpu')
driver = webdriver.Chrome(chrome_options=options)
driver.get('http://nytimes.com')
print(driver.title)
driver.close()
这是完整的错误消息
Traceback (most recent call last):
File "seleniumtest.py", line 13, in <module>
driver = webdriver.Chrome(chrome_options=options)
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.30.477691 (6ee44a7247c639c0703f291d320bdf05c1531b57),platform=Linux 4.15.0-42-generic x86_64)
我到底做错了什么? 我在 digitalocean 上的 ubuntu VPS 上运行它。
这个错误信息...
selenium.common.exceptions.WebDriverException: Message: unknown error: Chrome failed to start: exited abnormally
(Driver info: chromedriver=2.30.477691 (6ee44a7247c639c0703f291d320bdf05c1531b57),platform=Linux 4.15.0-42-generic x86_64)
...暗示ChromeDriver无法启动/生成新的WebBrowser,即Chrome 浏览器会话。
如下所述,正好有两个不兼容问题。
当Google 团队首次将Headless Chrome作为GA(通用可用性)发布时,文章Getting Started with Headless Chrome
提到:
--disable-gpu \ # Temporarily needed if running on Windows.
添加了一个注释:
现在,如果您在 Windows 上运行,您还需要包含
--disable-gpu
标志。
根据讨论Headless: make --disable-gpu flag 不必要,很明显:
在Linux或Mac OSX上不再需要
--disable-gpu
标志。 一旦错误SwiftShader 在无头模式下的 Windows 上断言修复,它也将在 Windows 上变得不必要。 现在,由于此问题已标记为已修复,因此参数--disable-gpu
现在应该是多余的。
注意:您可以在ERROR:gpu_process_transport_factory.cc(1007)-Lost UI shared context 中找到详细讨论:在 Headless 模式下通过 ChromeDriver 初始化 Chrome 浏览器时
但是,您的主要问题是您使用的二进制文件版本之间的不兼容,如下所示:
支持Chrome v58-60
Chrome version 71
Chrome version 72
Chrome version 73
所以ChromeDriver v2.30和Chrome 浏览器 v71-73之间存在明显的不匹配
您可以在以下位置找到一些相关讨论:
您尚未提供浏览器的版本,但 chromedriver 2.30 已经很旧了 - 大约 2017 年 6 月; Chrome 当时是 59 版,现在是 72 版。 (是的,我查过了,我不是很清楚他们的发布历史😀 )
我建议将其升级到最新版本 - 或升级到与您安装的浏览器相匹配的版本。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.