Запуск 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

0 ответов

Другие вопросы по тегам