WebDriverException: Съобщение: Услугата /usr/bin/google-chrome неочаквано излезе. Кодът на състоянието беше: -11 с ChromeDriver Chrome през Selenium Python

Опитвам се да стартирам webdriver в скрипт на Python и когато скриптът се опита да стартира 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

Някой знае ли защо скриптът ми съобщава код за грешка 11 при опит за стартиране на google chrome?


person Brent Heigold    schedule 30.01.2020    source източник
comment
Вярвам, че този ред: driver = webdriver.Chrome('/usr/bin/google-chrome') трябва да е пътят до chromedriver.   -  person pcalkins    schedule 30.01.2020


Отговори (1)


Това съобщение за грешка...

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

...подсказва, че ChromeDriver не е успял да инициира/създаде правилно новия контекст на сърфиране, т.е. сесия на браузър Chrome.

Изглежда, че почти стигнахте. Аргументът по подразбиране за webdriver.Chrome() е абсолютният път на двоичния файл на ChromeDriver. Съгласно най-добрите практики обаче трябва да изпратите както Ключа, така и Стойността, както следва:

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

Освен това, ако трябва да предадете абсолютния път на двоичния файл на Chrome, трябва да използвате свойството binary_location чрез екземпляр на chrome.options, както следва:

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/')

справка

Можете да намерите подробна дискусия в:

person DebanjanB    schedule 30.01.2020