Селен Chromedriver висит - PullRequest
       7

Селен Chromedriver висит

0 голосов
/ 02 октября 2018

Я часто запускаю скрипт на Python, который использует chromedriver для селена, чтобы открыть браузер и выполнить некоторые операции, связанные с AJAX.Программа работает на сервере AWS EC2 Red Hat Linux.

Информация о сервере:

NAME = "Сервер Red Hat Enterprise Linux"

VERSION = "7.2 (Maipo)"

Версия Chrome: Google Chrome 68.0.3440.106

Версия Chromedriver: ChromeDriver 2.41.578700 (2f1ed5f9343c13f73144538f15c00b370eda6706)

Модуль Python: 3.5.2 * 1013версия: 3.8.1

Эту программу необходимо запускать от имени пользователя root, поэтому при запуске chromedriver необходимо добавить «no-sandbox» в параметры chrome (ссылка: https://blog.testproject.io/2018/02/20/chrome-headless-selenium-python-linux-servers/).

Однако, это приводит к незакрытому процессу хромедрайвера / хрома после выполнения программы. (Ссылка: https://github.com/SeleniumHQ/selenium/issues/5600)

См. Снимок экрана для незакрытого процесса хромирования

Вот часть моего кода с использованием селена с chromedriver:

from selenium import webdriver
from fake_useragent import UserAgent
import time

ua = UserAgent()
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument("user-agent=ua.chrome()")
chrome_options.add_argument('--headless')
chrome_options.add_argument("--no-sandbox")
driver = webdriver.Chrome(chrome_options=chrome_options, executable_path="/usr/local/bin/chromedriver")
url = "https://www.example.com" # just an example
driver.get(url)

Я закрыл драйвер в скрипте как:

time.sleep(2)
driver.close()
driver.quit()

Но после выполнениясценарий.

Из моего перЯ пытался использовать PhantomJS.Однако PhantomJS больше не находится в активной разработке, и они сами предлагают вместо этого использовать Chrome без головы.

Мой вопрос таков: есть ли способ запустить хроматограф на основе селена с использованием Python на сервере Red Hat Linux в качестве пользователя root без генерации зависания?chromedriver / хром?(поскольку это почти занимает все воспоминания и делает сервер чрезвычайно медленным).

...