У меня есть веб-сканер, использующий Selenium и Chromium, работающий на Ubuntu Linux 16.04.Все новые запросы на сканирование поступают в Apache / WSGI, который создает новый поток Python для каждого запроса и запускает процесс Chromium с pyvirtualdisplay и Xvfb для загрузки веб-сайта, входа в систему, создания снимков экрана и т. Д.
Я использую Chromium сфлаги: disable-extensions, disable-gpu, headless, no-sandbox
caps = DesiredCapabilities().CHROME
caps["pageLoadStrategy"] = "none"
Затем у меня есть функция, которая проверяет каждую секунду, чтобы увидеть, загружена ли страница еще (как некоторые страницы нене загружается полностью в течение разумного времени, поэтому я пытаюсь подождать, пока они по крайней мере станут интерактивными, прежде чем продолжить):
driver.execute_script("var state = document.readyState; return state;")
Странная вещь в том, что теперь, когда я пытаюсь загрузить страницу, она сразу говоритон находится в состоянии «завершено» (и остается в течение следующих 15 секунд).Но когда я действительно пытаюсь найти элемент, он не может быть найден - поэтому я не думаю, что он действительно загружен.Обычно он говорит, что это «загрузка», а затем «интерактивный» и т. Д.
Я попытался перезапустить Apache, но, похоже, ничего не исправило.Что может быть не так?
Я вижу в своем списке процессов, что Chromium и Xvfb действительно работают, когда приходит новый запрос:
7429 ? S 0:00 Xvfb -br -nolisten tcp -screen 0 1024x768x24 :2165
7430 ? Sl 0:00 /var/www/html/flaskapp/chromedriver --port=39146
7438 ? Sl 0:00 /usr/lib/chromium-browser/chromium-browser --disable-background-networking --disable-client-side-phishing
7440 ? S 0:00 /usr/lib/chromium-browser/chromium-browser --type=zygote --no-sandbox --enable-logging --headless --log-l
7457 ? Sl 0:00 /usr/lib/chromium-browser/chromium-browser --type=gpu-process --no-sandbox --enable-logging --headless --
7468 ? S 0:00 /usr/sbin/apache2 -k start
7469 ? Sl 0:00 /usr/lib/chromium-browser/chromium-browser --type=renderer --no-sandbox --enable-automation --enable-logg