Chromedriver на сервере Linux Centos 7 - PullRequest
0 голосов
/ 19 февраля 2020

Я пытаюсь использовать безголовый chrome на Linux сервере Centos 7 с селеном и python. При попытке активировать драйвер я получаю следующую ошибку:

Traceback (most recent call last):
  File "send_notif_marktplaats.py", line 128, in <module>
    main()
  File "send_notif_marktplaats.py", line 117, in main
    driver = activate_driver()
  File "send_notif_marktplaats.py", line 42, in activate_driver
    driver = webdriver.Chrome(executable_path="/usr/local/bin/chromedriver", chrome_options=optionsChrome)
  File "/usr/lib/python2.7/site-packages/selenium/webdriver/chrome/webdriver.py", line 81, in __init__
    desired_capabilities=desired_capabilities)
  File "/usr/lib/python2.7/site-packages/selenium/webdriver/remote/webdriver.py", line 157, in __init__
    self.start_session(capabilities, browser_profile)
  File "/usr/lib/python2.7/site-packages/selenium/webdriver/remote/webdriver.py", line 252, in start_session
    response = self.execute(Command.NEW_SESSION, parameters)
  File "/usr/lib/python2.7/site-packages/selenium/webdriver/remote/webdriver.py", line 321, in execute
    self.error_handler.check_response(response)
  File "/usr/lib/python2.7/site-packages/selenium/webdriver/remote/errorhandler.py", line 242, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.SessionNotCreatedException: Message: session not created
from disconnected: unable to connect to renderer
  (Session info: headless chrome=80.0.3987.116)

Мои версии:
Chromedriver версия 80.0.3987.106
Google chrome 80.0.3987.116

Может кто-нибудь поможет мне?

1 Ответ

0 голосов
/ 19 февраля 2020

Это сообщение об ошибке ...

selenium.common.exceptions.SessionNotCreatedException: Message: session not created
from disconnected: unable to connect to renderer
  (Session info: headless chrome=80.0.3987.116)

... означает, что ChromeDriver v80.0 не смог инициировать / создать новый Контекст просмотра то есть Chrome Браузер сеанс.


Согласно обсуждению WebDriver 80.0.3987.16 не может открыться Chrome в Linux @triciac обновлено, что реализация ChromeDriver v80.0 ищет Chrome в следующем порядке:

  1. местоположения-> push_back (base :: FilePath ("/ usr / local / sbin"));
  2. location-> push_back (base :: FilePath ("/ usr / local / bin"));
  3. location-> push_back (base :: FilePath ("/ usr / sbin"));
  4. location-> push_back (base :: FilePath ("/ usr / bin"));
  5. location-> push_back (base :: FilePath ("/ sbin"));
  6. location-> push_back (base :: FilePath ("/ bin"));
  7. местоположения-> push_back (базовый :: FilePath ( "/ Opt / Google / chrome")); // последняя попытка с расположением установки по умолчанию.

@johnchen, подтвердил, что порядок двоичного поиска на Linux был случайно изменен на r708243 , который был предназначен для упростить настройку имени двоичного файла Chrome, но также случайно изменил порядок поиска.

ChromeDriver команда обновила ChromeDriver , чтобы решить эту проблему через эту ревизию / коммит .


Решение

Вышеупомянутое решение доступно с:


Временное решение

Временное решение будет использовать атрибут binary_location подробное обсуждение можно найти в Selenium: WebDriverException: Chrome не удалось запустить: сбой, поскольку google-chrome больше не работает, поэтому ChromeDriver предполагает, что Chrome произошел сбой

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