Я делаю программу с селеном (питоном).Он работал, и из ниоткуда веб-драйвер больше не работает.Я работаю в среде Windows (и она работает нормально), но как только я загружаю код на рабочий сервер (Ubuntu), я пытаюсь открыть веб-драйвер, и он отображает только data;
, драйвер зависает, затем закрывается,Никакой код после этого не продолжается.
Пример:
print("Starting web driver")
driver = webdriver.Chrome(driver_path, options=opt)
print("Opening URL") # This code doesn't run
driver.get(config.url) # This code doesn't run
Вещи, которые я пробовал:
Запуск его в Windows (работает правильно)
Обновление веб-драйвера
Запуск его вне venv
Запуск драйвера вновое изолированное окружение
Перенос всего кода в try-кроме (без ошибок)
Запуск с аргументом --headless
Редактировать: я использую python3.7, Chrome WebDriver V 75.0.3770.90
Edit2: driver_path
var - это относительный путь к файлу chromedriver
.Опция - это мой список параметров Chrome:
opt = Options()
opt.add_argument('--no-sandbox')
opt.add_argument('--disable-dev-shm-usage')
profile = {"plugins.always_open_pdf_externally": True,
"download.default_directory": download_directory,
"download.prompt_for_download": False,
"download.directory_upgrade": True}
opt.add_experimental_option("prefs", profile)
Я также использую gunicorn в качестве своего веб-сервера, но при запуске его с веб-сервером по умолчанию (колба) я все еще сталкиваюсь с проблемой.Я также выполняю функции, написанные для селена, через веб-приложение на основе колб (это веб-приложение для работы). На компьютере с Ubuntu, на котором выполняется скрипт, установлена среда рабочего стола.
Через 15-25 секунд окна закрываются без вывода в терминал.Через ~ 90 секунд я получаю сообщение в терминале:
Message: session not created
from disconnected: unable to connect to renderer
(Session info: chrome=75.0.3770.90)
Я также заметил, что для запуска драйвера chrome требуется больше времени, чем обычно.
Edit3: I 'Я буквально удалил всю виртуальную машину и переустановил ее с нуля, и я все еще сталкиваюсь с той же проблемой, я вернулся к более старой версии, и она все еще не работает, что не имеет никакого логического смысла.Я думал только о том, что есть какая-то ошибка конфигурации или что-то мешает ей.
Edit4: мне удалось получить журнал от веб-драйвера, добавив аргумент --verbose
Вот журнал:
[1562179109.454][INFO]: resolved localhost to ["::1","127.0.0.1"]
[1562179111.454][WARNING]: Timed out connecting to Chrome, retrying...
[1562179111.454][INFO]: resolved localhost to ["::1","127.0.0.1"]
[1562179115.454][WARNING]: Timed out connecting to Chrome, retrying...
[1562179115.455][INFO]: resolved localhost to ["::1","127.0.0.1"]
[1562179123.454][WARNING]: Timed out connecting to Chrome, retrying...
[1562179123.455][INFO]: resolved localhost to ["::1","127.0.0.1"]
[1562179139.455][WARNING]: Timed out connecting to Chrome, giving up.
[1562179139.506][INFO]: [42e538ee02eb06b9ac776969dddf01d1] RESPONSE InitSession ERROR session not created
from disconnected: unable to connect to renderer
(Session info: chrome=75.0.3770.90)
[1562179139.506][DEBUG]: Log type 'driver' lost 9 entries on destruction
[1562179139.506][DEBUG]: Log type 'browser' lost 0 entries on destruction
Я не слишком знаком с Linux, но из того, что я видел в прошлом, я чувствую, что это как-то связано с / etc / hosts (idk?)
Edit5: Я заметил, что это начало происходить после того, как я установил windscribe (vpn), что заставляет меня думать, что windscribe как-то мешает соединению.