问题描述
所以我和这些帖子有完全相同的错误
So I have the exact same error as these posts
Selenium 'Chrome 启动失败:异常退出' 错误一个>
未知错误:Chrome 启动失败:异常退出
我尝试了他们推荐的方法,但没有奏效.
I tried what they recommended and it didn't work.
这是我的代码
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 上运行它.
What the devil am I doing wrong? I'm running this on an ubuntu VPS on digitalocean.
推荐答案
这个错误信息...
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 浏览器 会话.
...implies that the ChromeDriver was unable to initiate/spawn a new WebBrowser i.e. Chrome Browser session.
下面将讨论两个不兼容问题.
Headless Chrome 首次由 Google 团队 发布为 GA(一般可用性) 时,文章 Headless Chrome 入门
提到:
When Headless Chrome was first released as GA (General Availability) by Google Team the article Getting Started with Headless Chrome
mentioned that :
--disable-gpu # Temporarily needed if running on Windows.
一个注释被添加为:
现在,如果您在 Windows 上运行,您还需要包含 --disable-gpu
标志.
Right now, you'll also want to include the
--disable-gpu
flag if you're running on Windows.
根据讨论 Headless:使 --disable-gpu 标志不必要 很明显:
--disable-gpu
标志在 Linux 或 Mac OSX 上不再需要.一旦错误 SwiftShader 在无头模式下的 Windows 已修复.现在,由于这个问题被标记为 fixed,参数 --disable-gpu
现在应该是多余的了.
The
--disable-gpu
flag is no longer necessary on Linux or Mac OSX. It will also become unnecessary on Windows as soon as the bug SwiftShader fails an assert on Windows in headless mode is fixed. Now as this issue is marked fixed the argument--disable-gpu
should be redundant now.
注意:您可以在 错误:gpu_process_transport_factory.cc(1007)-丢失 UI 共享上下文:在 Headless 模式下通过 ChromeDriver 初始化 Chrome 浏览器时
但是,您的主要问题是您使用的二进制文件版本之间的不兼容,如下所示:
However, your main issue is the incompatibility between the version of the binaries you are using as follows:
- 您正在使用 chromedriver=2.30
- chromedriver=2.30 的发布说明明确提到以下内容:
支持 Chrome v58-60
- 我们不知道您的 chrome 版本.假设您使用的是最新的 Chrome 版本之一:
Chrome 版本 71
Chrome 版本 72
Chrome 版本 73
- Your chrome version is unknown to us. Assuming you are using on of the latest Chrome releases either among:
Chrome version 71
Chrome version 72
Chrome version 73
- 根据您的 Chrome 浏览器 版本升级 ChromeDriver 相应地遵循 指南如下:
- 如果您使用的是Chrome 73版,则需要下载ChromeDriver 73.0.3683.20
- 如果您使用的是 Chrome 版本 72,则需要下载 ChromeDriver 2.46 或 ChromeDriver 72.0.3626.69
- 如果您使用的是 Chrome 版本 71,则需要下载 ChromeDriver 2.46 或 ChromeDriver 71.0.3578.137
- 对于旧版本的 Chrome,请参阅 此讨论 支持它的 ChromeDriver 版本.
- Depending on your Chrome Browser version upgrade ChromeDriver accordingly following the guidelines below:
- If you are using Chrome version 73, you need to download ChromeDriver 73.0.3683.20
- If you are using Chrome version 72, you need to download ChromeDriver 2.46 or ChromeDriver 72.0.3626.69
- If you are using Chrome version 71, you need to download ChromeDriver 2.46 or ChromeDriver 71.0.3578.137
- For older version of Chrome, see this discussion for the version of ChromeDriver that supports it.
您可以在以下位置找到一些相关讨论:
You can find a couple of relevant discussions in:
- OpenQA.Selenium.WebDriverException: 未知错误:Chrome 无法启动:在 linux 上通过 Selenium start 执行测试时异常退出
- WebDriverException:消息:未知错误:Chrome 无法启动:在 debian 服务器上使用 ChromeDriver Chrome 和 Selenium 异常退出
- 消息:未知错误:Chrome 无法启动:在 AWS Cloud9 上使用 Linux 4.9.85-38.58.amzn1.x86_64 x86_64 异常退出
这篇关于WebDriverException:消息:未知错误:Chrome 无法启动:通过 VPS 上的 Python 使用 ChromeDriver Chrome 和 Selenium 异常退出的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!
本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!
所以 ChromeDriver v2.30 和 Chrome 浏览器 v71-73