Получение драйвера ChromeDriver из Selenium
Я докеризирую свое приложение Python-Selenium, и у меня есть эти три строки в моем Dockerfile:
RUN wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add -
RUN sh -c 'echo "deb http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list'
RUN apt-get update -qqy --no-install-recommends &&
Следуя этому ответу , я сначала запустил отдельный браузер chrome с помощью следующей команды:
docker run -d -p 4444:4444 selenium/standalone-chrome
Добавил это к docker-compose.yml
:
selenium:
image: selenium/standalone-firefox
ports:
- 4444:4444
И отредактировал мою функцию лома следующим образом:
def scrap_function(url):
chrome_options = Options()
chrome_options.add_argument("--headless")
chrome_options.add_argument("--no-sandbox")
chrome_options.add_argument("--disable-dev-shm-usage")
chrome_prefs = {}
chrome_options.experimental_options["prefs"] = chrome_prefs
chrome_prefs["profile.default_content_settings"] = {"images": 2}
driver = webdriver.Remote("http://172.18.0.3:4444/wd/hub", options=chrome_options)
Я получил удаленный url из журнала, и после этих изменений запустил docker-compose build
и docker-compose up
. Похоже, что функция выполняется правильно, но она не возвращает ни результатов, ни сообщений об ошибках. Все ли в порядке с конфигурацией веб-драйвера? Похоже, что он идет туда, но функция не возвращает никаких значений