Как установить Selenium (python) на Apache веб-сервер? - PullRequest
1 голос
/ 12 апреля 2020

У меня установлен и работает сервер Apache с уже установленным Python 3.x. Прямо сейчас я пытаюсь запустить на сервере небольшую python программу (скажем, filename.py). Но эта python программа использует веб-драйвер для Chrome от Selenium. Также он использует сон из времени (но я думаю, что это происходит по умолчанию, поэтому я думаю, что это не будет проблемой)

from selenium import webdriver

Когда я впервые пишу эту программу на моем компьютере, не только Мне пришлось написать строку кода выше, но также вручную загрузить веб-драйвер для Chrome и вставить его в / usr / local / bin. Вот ссылка на файл в случае, если вам интересно: Webdriver для Chorme

В любом случае, я не знаю, каковы эквивалентности для настройки этого на моем сервере. У вас есть идеи, как это сделать? Или какие-либо концепции, которые я мог бы изучить, связанные с установкой пакетов на Apache Сервер?

1 Ответ

1 голос
/ 13 апреля 2020

Простое решение:

Вам не нужно устанавливать драйвер в usr/local/bin. Вы можете иметь .exe где угодно, и вы можете указать это с помощью пути к исполняемому файлу, см. здесь , например.

Решение для запуска на сервере

Если на сервере установлен python, в идеале> 3.4, который поставляется с pip по умолчанию. Затем установите ChromeDriver на автономный сервер, следуйте инструкциям здесь

Обратите внимание, что Selenium всегда нужен экземпляр браузера для управления.

К счастью, есть браузеры там, которые не так тяжелы, как обычные браузеры, которые вы знаете. Вам не нужно открывать IE / Firefox / Chrome / Opera. Вы можете использовать HtmlUnitDriver, который управляет HTMLUnit - безголовый браузер Java, который не имеет пользовательского интерфейса. Или PhantomJsDriver, который управляет Phantom JS - еще одним безголовым браузером, работающим на WebKit.

Эти безголовые браузеры намного меньше занимают память, обычно быстрее (так как им не нужно ничего делать), они не не требует наличия графического интерфейса для компьютера, на котором они работают, и, следовательно, его легко использовать на стороне сервера.

Пример кода безголовой настройки

op = webdriver.ChromeOptions()
op.add_argument('headless')
driver = webdriver.Chrome(options=op)

Также стоит прочитать при запуске Селен R C, см. здесь об этом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...