Облицовочный хромэдривер неожиданно вышел.Код состояния был: 127 при использовании браузера без головы Chrome с докером и Python 3.7 на AWS ec2 - PullRequest
0 голосов
/ 23 июня 2019

Это не дубликат других вопросов, и я также попробовал существующие ответы. На AWS ec2 я создал докер-контейнер, в котором я пытаюсь открыть безголовый хром. Файл докера

FROM python:3
# Install Chrome for Selenium
RUN curl https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb -o /chrome.deb
RUN dpkg -i /chrome.deb || apt-get install -yf
RUN rm /chrome.deb
RUN wget https://chromedriver.storage.googleapis.com/2.38/chromedriver_linux64.zip
RUN unzip chromedriver_linux64.zip -d chromedriver
RUN chmod +x /chromedriver/chromedriver
ENV PATH="/chromedriver:${PATH}"
RUN echo 'logging path'
RUN echo "${PATH}"

Код, который я использую для открытия браузера:

options = Options()
options.add_argument("--window-size=1920,1080")
options.add_argument("--disable-gpu")
options.add_argument("--disable-extensions")
options.add_argument("--proxy-server='direct://'")
options.add_argument("--proxy-bypass-list=*")
options.add_argument("--start-maximized")
options.add_argument("--headless")
options.add_argument('--no-sandbox')
options.headless = True
driver = webdriver.Chrome(options=options, executable_path='/chromedriver/chromedriver')
driver.get(url)

Ошибка, которая на ec2:

  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 /chromedriver/chromedriver unexpectedly exited. Status code was: 127

Я пытался
Установка Chromium в Amazon Linux и другие ответы на вопросы stackoverflow, но не смог ее решить.
Версия Google-Chrome - Google Chrome 75.0.3770.100
версия драйвера - 2.38
селен - 3.141.0
ОС AWS AMI - это Linux, а не Ubuntu, поэтому команда ldd chrome | grep не поможет. Несмотря на то, что я также исправил эту проблему, все равно получаю ошибку. Когда зарегистрирован путь к chromedriver, он регистрируется как ниже

/usr/local/lib/python3.7/site-packages/chromedriver_binary:/chromedriver:
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...