我正在尝试将headless chrome与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')我得到的错误是
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)它还生成一个core.*,一个包含五个随机数的核心文件点,大小超过200MB。
版本:
Selenium 3.0.0b3
Google Chrome 60.0.3112.113
chromedriver 2.30有谁能帮我找出哪里不对劲吗?
发布于 2017-12-19 20:58:15
我在centos7.1上也遇到了同样的问题,因为我是根用户,在添加代码chrome_options.add_argument('--no-sandbox')之后,这个问题就解决了
以下是我的代码
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
chrome_options = Options()
chrome_options.add_argument('--no-sandbox')
chrome_options.add_argument('--headless')
driver = webdriver.Chrome(chrome_options=chrome_options)
driver.get('https://www.google.com/')
print driver.current_url
driver.quit()发布于 2017-12-04 16:37:47
我在Ubuntu14.04上运行无头Chrome时遇到了一个问题,它死于同样的unknown error: Chrome failed to start: crashed错误,我将其追溯到Selenium驱动程序忽略的依赖问题。
为了诊断,我尝试直接运行无头Chrome,得到:
$ google-chrome --headless "http://example.com"
NSS_VersionCheck("3.26") failed. NSS >= 3.26 is required.这是libnss3安装的:
$ dpkg -s libnss3
Package: libnss3
Version: 2:3.23-0ubuntu0.14.04.1所以我转而使用libnss3-dev
$ apt-get install libnss3-dev
$ dpkg -s libnss3
Package: libnss3
Version: 2:3.28.4-0ubuntu0.14.04.3并在命令行上重试:
$ google-chrome --headless "http://example.com"
$ echo $?
0果然,一旦无头Chrome在命令行上工作,它也开始在Selenium上工作。
以下是我目前使用的版本:
$ google-chrome --version
Google Chrome 62.0.3202.94
$ chromedriver --version
ChromeDriver 2.33.506092
$ $ pip freeze |grep selenium
selenium==3.7.0发布于 2018-05-18 19:06:25
它在debian系统中适用于我。添加以下内容。
chrome_options.add_argument('--no-sandbox')
我在debian中安装了apt-get install -y chromium。
https://stackoverflow.com/questions/45954537
复制相似问题