WebDriverException:消息:未知错误:Chrome 无法启动:通过 VPS 上的 Python 使用 ChromeDriver Chrome 和 Selenium 异常退出 [英] WebDriverException: Message: unknown error: Chrome failed to start: exited abnormally with ChromeDriver Chrome and Selenium through Python on VPS

查看:30
本文介绍了WebDriverException:消息:未知错误:Chrome 无法启动:通过 VPS 上的 Python 使用 ChromeDriver Chrome 和 Selenium 异常退出的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

所以我和这些帖子有完全相同的错误

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 无法启动/生成新的 WebBrowserChrome 浏览器 会话.

...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 标志在 LinuxMac 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 版本之一:
查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆