Запуск Chrome с использованием Docker-Selenium, прокси-сервер аутентификации Socks5 на Python
Главная проблема
Мне нужно запустить Chrome с помощью Docker. Я нашел изображения докеров на github, используя их, я попытался запустить Chrome.
options = ChromeOptions()
os.system(f'docker run -d -p 4444:4444 -p 7900:7900 --shm-size="2g" -e SCREEN_WIDTH={width} -e SCREEN_HEIGHT={height} --platform linux/amd64 selenium/standalone-chrome:latest')
while True:
try:
driver = webdriver.Remote('http://localhost:4444/wd/hub', options=options)
except (ProtocolError, RemoteDisconnected):
time.sleep(2)
continue
break
Но он поднимается (докер точно работает, потому что прошлый код в Firefox работал)
selenium.common.exceptions.SessionNotCreatedException: Message: Could not start a new session. Error while creating session with the driver service. Stopping driver service: Could not start a new session. Response code 500. Message: unknown error: Chrome failed to start: crashed.
(unknown error: DevToolsActivePort file doesn't exist)
(The process started from chrome location /usr/bin/google-chrome is no longer running, so ChromeDriver is assuming that Chrome has crashed.)
Я попытался установить местоположение в Chrome, но, похоже, не смог найти правильное местоположение.
Также я нашел аналогичную ошибку в stackoverflow, но опции «--headless», «--no-sandbox», «--disable-dev-shm-usage» у меня не работают.
Предыдущие проблемы
Моя цель — запустить селен в докере, чтобы скрыть автоматизацию браузера путем изменения размера экрана. Также из-за этого мне нужно использовать прокси. У меня есть прокси-сервер Socks5 с аутентификацией.
Я использовал Firefox в Docker, но он не работает с прокси-сервером аутентификации Socks5. Хотяseleniumwire
удалось подключить прокси к Firefox, в докере это не сработало. Переменные среды Docker и настройки Firefox также не смогли его подключить.
До этого я пытался заменить значения, возвращаемыеwindow.screen.width
иwindow.screen.height
с JS, но я не смог найти способа сделать это без докера.
Итак, если вы знаете, как подключить прокси-сервер authsocks5 к Firefox или смоделировать другое разрешение экрана, это мне поможет.
Конфигурация
MacOS Ventura 13.2.1 на M1
Chrome 113.0.5672.63
Python 3.10