Сообщение: неизвестная ошибка: не удалось запустить Chrome: аварийное завершение работы в AWS Cloud9 с Linux 4.9.85-38.58.amzn1.x86_64 x86_64 - PullRequest
0 голосов
/ 25 апреля 2018

Работая в AWS Cloud9, мой скрипт:

from bs4 import BeautifulSoup
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
import requests


options = Options()
options.binary_location = '/usr/bin/google-chrome'
driver = webdriver.Chrome(chrome_options=options, executable_path='/home/ec2-user/environment/downloads/chromedriver')
url = 'http://google.com'
driver.get(url)

soup = BeautifulSoup(driver.page_source, 'lxml')

# driver.quit()    

print(soup)

Однако, когда я запускаю файл, конфигурация запуска зависает до тех пор, пока я не прерву клавиатуру с помощью ctrl + c. Traceback возвращает это:

> Traceback (most recent call last):   File
> "/home/ec2-user/environment/vpy36/lib/python3.6/dist-packages/hubspot-marketplace.py",
> line 9, in <module>
>     driver = webdriver.Chrome(chrome_options=options, executable_path='/home/ec2-user/environment/downloads/chromedriver')  
> File
> "/home/ec2-user/environment/vpy36/lib/python3.6/dist-packages/selenium/webdriver/chrome/webdriver.py",
> line 75, in __init__
>     desired_capabilities=desired_capabilities)   File "/home/ec2-user/environment/vpy36/lib/python3.6/dist-packages/selenium/webdriver/remote/webdriver.py",
> line 154, in __init__
>     self.start_session(desired_capabilities, browser_profile)   File "/home/ec2-user/environment/vpy36/lib/python3.6/dist-packages/selenium/webdriver/remote/webdriver.py",
> line 243, in start_session
>     response = self.execute(Command.NEW_SESSION, parameters)   File "/home/ec2-user/environment/vpy36/lib/python3.6/dist-packages/selenium/webdriver/remote/webdriver.py",
> line 310, in execute
>     response = self.command_executor.execute(driver_command, params)   File
> "/home/ec2-user/environment/vpy36/lib/python3.6/dist-packages/selenium/webdriver/remote/remote_connection.py",
> line 466, in execute
>     return self._request(command_info[0], url, body=data)   File "/home/ec2-user/environment/vpy36/lib/python3.6/dist-packages/selenium/webdriver/remote/remote_connection.py",
> line 490, in _request
>     resp = self._conn.getresponse()   File "/usr/lib64/python3.6/http/client.py", line 1331, in getresponse
>     response.begin()   File "/usr/lib64/python3.6/http/client.py", line 297, in begin
>     version, status, reason = self._read_status()   File "/usr/lib64/python3.6/http/client.py", line 258, in _read_status
>     line = str(self.fp.readline(_MAXLINE + 1), "iso-8859-1")   File "/usr/lib64/python3.6/socket.py", line 586, in readinto
>     return self._sock.recv_into(b) KeyboardInterrupt

Только что провел последние 4 часа, пытаясь установить Chrome и BeautifulSoup на AWS Cloud 9. Очень сложно.

Редактировать: я просто позволил ему работать, пока он не остановился сам и не вернул Message: unknown error: Chrome failed to start: exited abnormally

Редактировать 2: Информация о драйвере: chromedriver = 2.10.267518,

платформа = Linux 4.9.85-38.58.amzn1.x86_64 x86_64

Google Chrome 66.0.3359.117

1 Ответ

0 голосов
/ 25 апреля 2018

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

Message: unknown error: Chrome failed to start: exited abnormally

... означает, что ChromeDriver не смог установить новый Chrome сеанс.

В соответствии с вашим вопросом обновления ваша основная проблема заключается в совместимости версии между двоичными файлами, которые вы используете следующим образом:

  • Вы используете chromedriver = 2.10 какие довольно старые и древние
  • Вы используете хром = 66,0
  • Примечания к выпуску ChromeDriver v2.38 четко упоминает следующее:

Поддержка Chrome v65-67

  • Ваша версия Selenium Client нам неизвестна.

Таким образом, существует явное несоответствие между ChromeDriver версией ( v2.10 ) и Браузер Chrome версия ( v66.0 )

Solution

  • Обновление Selenium до текущих уровней Версия 3.11.0 .
  • Обновление ChromeDriver до текущей ChromeDriver v2.38 уровень.
  • Сохранить Chrome версия на Chrome v66.x уровней.( согласно примечаниям к выпуску ChromeDriver v2.38 )
  • Очистить ваше Рабочее пространство проекта через IDE и Перестройте ваш проект только с необходимыми зависимостями.
  • Используйте CCleaner , чтобы стереть все рутинные операции ОС до и после выполнения вашего test Suite .
  • Если ваша базовая версия Web Client устарела, удалите ее через Revo Uninstaller и установите последнюю версиюGA и выпущенная версия Веб-клиент .
  • Возьмите Перезагрузка системы .
  • Выполните @Test.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...