Почему конфигурация chrome webdriver неверна? - PullRequest
0 голосов
/ 25 февраля 2019

Я пытаюсь запустить скребок с помощью драйвера Selenium

Мой файл py (только начинается)

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import Select
from selenium.common.exceptions import NoSuchElementException

# Set the url we want
<and so on>

Однако я получаю следующую ошибку:

Traceback (most recent call last):
  File "main.py", line 37, 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_respons
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: unknown error: Chrome failed to start: exited abnormally
  (unknown error: DevToolsActivePort file doesn't exist)
  (The process started from chrome location /usr/bin/google-chrome is no longer running, so ChromeDriver is assuming  has crashed.)
  (Driver info: chromedriver=2.46.628388 (4a34a70827ac54148e092aafb70504c4ea7ae926),platform=Linux 4.4.0-140-generic

При поиске этой ошибки создается впечатление, что она несовместима с ChromeDriver, Google-Chrome и Selenium, однако моя версия Selenium 3.141.0, моя версия chrome 72.0.3626.119, а мой ChromeDriver 2.46.

Так что они все последние и кажутся совместимыми.

Есть идеи, что не так?

1 Ответ

0 голосов
/ 25 февраля 2019

Я столкнулся с этой ошибкой в ​​Ubuntu 18.04, и это может быть одной из нескольких причин, вызывающих сбой Chrome.Попробуйте установить следующие флаги:

from selenium import webdriver
from selenium.webdriver.chrome.options import Options
options = Options()
options.add_argument("--no-sandbox")
options.add_argument("--headless")

driver = webdriver.Chrome("/usr/local/bin/chromedriver", chrome_options=options)

Флаг --headless гарантирует, что Chrome запускается в автономном режиме, так как я предполагаю, что на вашем Ubuntu нет рабочего стола.флаг --no-sandbox отключает «песочницу» в Linux, которая иногда вызывает проблемы при запуске.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...