Запустите скрипт Selenium Python без автономного режима на сервере Linux

Политика SELinux существует для определения политики того, что разрешено в системе. Когда вы создаете несколько разных файлов с общими метками, политика достаточно разрешительна, но предотвращает некоторые потенциальные угрозы.

Единственная угроза заключается в том, что запуск чего-либо не из /dev/shm, а запуск чего-либо из потенциально пользовательских -каталогов, доступных для записи, может быть очень опасным (, особенно если демон работает от имени пользователя root, не так ли? ).

Как правило, все новые сервисы/демоны в Fedora должны иметь некоторую политику SELinux, чтобы SELinux имел над ними хоть какой-то контроль. Я бы порекомендовал вам сделать это, если это долговременное -служение.

Если это должна быть -специальная служба, просто назначьте ей некую общую bin_tметку, которая должна это делать. Или установите двоичные файлы в /opt/your-path/(s)bin/и, возможно, настройте политику, чтобы правильно отображать метки в дереве каталогов.

0
29.04.2019, 21:09
2 ответа

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

Полезные советы:

  • Этот пост очень помог мне настроить мой первый скрипт selenium без головы
  • Вы можете попробовать безголовый драйвер Firefox.Я видел случаи, когда это работало, когда Chromium не работал (, вам понадобится geckodriver)
  • Вы можете подготовить первую версию скрипта Selenium на компьютере с графической средой, а затем перенести скрипт в безголовую среду
  • Что касается отладки, я обычно выгружаю посещенные веб-страницы в разных точках, чтобы увидеть, где происходит сбой сценария (старая добрая отладка «печати»)
1
28.01.2020, 03:46

Вы можете использовать pyvirtualdisplayдля запуска вашего хромдрайвера с нулевым отображением на вашем сервере. Вот полный ответ :https://stackoverflow.com/a/59793651/6903322

0
28.01.2020, 03:46

Теги

Похожие вопросы