WebDriverException:消息:未知错误:Chrome 无法启动:崩溃

Dan*_*ang 5 python selenium google-chrome headless centos7

我正在尝试使用headless chromewith selenium,我为 chromedriver 的路径创建了一个符号链接到 /usr/local/bin 中,但是当我运行时

from selenium import webdriver

options = webdriver.ChromeOptions()    
options.add_argument('--headless')

browser = webdriver.Chrome()
browser.get('http://www.google.com')
Run Code Online (Sandbox Code Playgroud)

我得到的错误是

     Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/opt/anaconda2/envs/tensorflow/lib/python2.7/site-packages/selenium/webdriver/chrome/webdriver.py", line 69, in __init__
    desired_capabilities=desired_capabilities)
  File "/opt/anaconda2/envs/tensorflow/lib/python2.7/site-packages/selenium/webdriver/remote/webdriver.py", line 92, in __init__
    self.start_session(desired_capabilities, browser_profile)
  File "/opt/anaconda2/envs/tensorflow/lib/python2.7/site-packages/selenium/webdriver/remote/webdriver.py", line 179, in start_session
    response = self.execute(Command.NEW_SESSION, capabilities)
  File "/opt/anaconda2/envs/tensorflow/lib/python2.7/site-packages/selenium/webdriver/remote/webdriver.py", line 236, in execute
    self.error_handler.check_response(response)
  File "/opt/anaconda2/envs/tensorflow/lib/python2.7/site-packages/selenium/webdriver/remote/errorhandler.py", line 192, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: unknown error: Chrome failed to start: crashed
  (Driver info: chromedriver=2.30.477691 (6ee44a7247c639c0703f291d320bdf05c1531b57),platform=Linux 3.10.0-327.22.2.el7.x86_64 x86_64)
Run Code Online (Sandbox Code Playgroud)

它还生成一个 core.*****,一个带有五个随机数的核心文件点,大小超过 200MB。

版本:

Selenium 3.0.0b3 
Google Chrome 60.0.3112.113  
chromedriver 2.30
Run Code Online (Sandbox Code Playgroud)

谁能帮我找出问题所在吗?

Deb*_*anB 0

当您尝试在无头模式下打开 Chrome 浏览器时,您无需创建任何额外的设置或符号链接。保存/存储chromedriver系统上的任何位置并通过其绝对路径访问该位置。要包含参数,--headless您需要借助Options类并在初始化对象时传递对象,webdriver如下所示:

from selenium import webdriver
from selenium.webdriver.chrome.options import Options

options = Options()
options.add_argument("start-maximized")
options.add_argument("disable-infobars")
options.add_argument("--disable-extensions")
options.add_argument('--headless')
driver = webdriver.Chrome(chrome_options=options, executable_path=r'C:\Utility\BrowserDrivers\chromedriver.exe')
driver.get('https://www.google.co.in')
print("Page Title is : %s" %driver.title)
driver.quit()
Run Code Online (Sandbox Code Playgroud)

控制台输出:

Page Title is : Google
Run Code Online (Sandbox Code Playgroud)