У меня есть автоматизированная процедура очистки данных с использованием Python и Selenium, которую я использую для сбора данных. Я запускал его в контейнере Docker, а затем переключился на запуск только в терминале, потому что мне нужно было внести некоторые изменения в код. Я возвращаюсь к Docker, но когда я запускаю контейнер, процесс просто зависает при запуске драйвера Chrome:
Код: Выделить всё
options = webdriver.ChromeOptions()
options.add_argument("--start-maximized")
options.add_argument("--headless=new")
options.add_argument("--no-sandbox")
options.add_argument("--disable-dev-shm-usage")
driver = webdriver.Chrome(options)
Нет сообщения об ошибке или чего-то еще. Процесс просто сидит и ничего не делает. Возможно, есть какие-то диагностические данные, которые я не вижу из-за того, как журналы контейнера и выходные данные взаимодействуют с самим процессом, но это просто пустяки. Контейнер что-то делает, и это не полное зависание, поскольку он реагирует на тайм-аут сигнала, а прерывания клавиатуры все еще работают.
ванильный webdriver.Chrome( ) команда без аргументов почти сразу выдает ошибку, как и большинство комбинаций опций. Кажется, что разница заключается в аргументе --no-sandbox. Когда я включаю его в список, я получаю стойло.
Подробнее здесь:
https://stackoverflow.com/questions/790 ... -container