【问题标题】:WebDriverException: Message: Service /usr/bin/google-chrome unexpectedly exited. Status code was: -11 with ChromeDriver Chrome through Selenium PythonWebDriverException:消息:服务 /usr/bin/google-chrome 意外退出。状态代码是:-11 with ChromeDriver Chrome through Selenium Python
【发布时间】:2020-01-30 16:05:13
【问题描述】:

我正在尝试在 Python 脚本中运行 webdriver,当脚本尝试运行 google chrome 时,它​​会以状态码 11 退出。

这里是python脚本:

#!/usr/bin/python3
import time
from selenium import webdriver

driver = webdriver.Chrome('/usr/bin/google-chrome')  # Optional argument, if not specified will search path.
driver.get('http://www.google.com/');
time.sleep(5) # Let the user actually see something!
search_box = driver.find_element_by_name('q')
search_box.send_keys('ChromeDriver')
search_box.submit()
time.sleep(5) # Let the user actually see something!
driver.quit()

这是完整的输出:

[ec2-user@ip-xxx-xx-xx-xxx pythonscrape]$ python3 test-selenium-chrome.py
Traceback (most recent call last):
  File "test-selenium-chrome.py", line 5, in <module>
    driver = webdriver.Chrome('/usr/bin/google-chrome')  # Optional argument, if not specified will search path.
  File "/usr/local/lib/python3.7/site-packages/selenium/webdriver/chrome/webdriver.py", line 73, in __init__
    self.service.start()
  File "/usr/local/lib/python3.7/site-packages/selenium/webdriver/common/service.py", line 98, in start
    self.assert_process_still_running()
  File "/usr/local/lib/python3.7/site-packages/selenium/webdriver/common/service.py", line 111, in assert_process_still_running
    % (self.path, return_code)
selenium.common.exceptions.WebDriverException: Message: Service /usr/bin/google-chrome unexpectedly exited. Status code was: -11

有谁知道为什么我的脚本在尝试运行 google chrome 时会报告错误代码 11?

【问题讨论】:

  • 我相信这一行:driver = webdriver.Chrome('/usr/bin/google-chrome') 应该是chromedriver的路径。

标签: python selenium google-chrome webdriver selenium-chromedriver


【解决方案1】:

此错误消息...

selenium.common.exceptions.WebDriverException: Message: Service /usr/bin/google-chrome unexpectedly exited. Status code was: -11

...暗示 ChromeDriver 无法正确启动/生成新的浏览上下文,即 Chrome 浏览器 会话。

看来你快到了。 webdriver.Chrome() 的默认参数是 ChromeDriver 二进制文件的绝对路径。但是,根据最佳实践,您必须同时发送 KeyValue,如下所示:

driver = webdriver.Chrome(executable_path='/path/to/chromedriver')  # Optional argument, if not specified will search path

此外,如果您需要传递 Chrome 二进制文件的绝对路径,您必须通过chrome.options 的实例使用binary_location 属性,如下所示:

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

options = Options()
options.binary_location = '/path/to/chrome'
driver = webdriver.Chrome(options=options, executable_path='/path/to/chromedriver')
driver.get('http://google.com/')

参考

您可以在以下位置找到详细讨论:

【讨论】:

    猜你喜欢
    • 2019-05-07
    • 1970-01-01
    • 2021-03-15
    • 2018-08-25
    • 2019-05-01
    • 2020-09-16
    • 1970-01-01
    • 2019-05-31
    相关资源
    最近更新 更多