Это не дубликат других вопросов, и я также попробовал существующие ответы. На 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: