Как запустить Selenium в crontab

Как запустить Selenium в crontab

Запустить Selenium в crontab необходимо специальным образом, указывая дисплей, на котором он будет работать. Расскажем в этой заметке как.

Я настраивал Python скрипт с Selenium для автоматизации некоторых задач. Одну из задач я хотел полностью автоматизировать, чтобы она выполнялась в определенное время. Я столкнулся с несколькими проблемами, пытаясь запустить скрипт Python в crontab. Скрипт будет нормально работать в терминале, но не с помощью crontab. После долгих поисков в Google и StackOverflow я нашел решение этой проблемы.

Есть две проблемы:

1. Crontab использует очень ограниченные переменные PATH.
2. Crontab не использует дисплей или терминал для запуска кода. Все работает в фоновом режиме.

Изначально я получал такую ошибку: “Message: ‘geckodriver’ executable needs to be in PATH.”

Решение для этого – добавить PATH к драйверу браузера в cronjob.

Как запустить Selenium в crontabВторая проблема, с которой я столкнулся, заключалась в том, что у cronjob не было дисплея для использования.

Исправить это можно, добавив отображение в команду cronjob.

Открываем для редактирования файл crontab:

# crontab -e

или

# vim /etc/crontab

и добавляем свою задачу по аналогии:

* * * * * export DISPLAY=:0 && export PATH=$PATH:/usr/local/bin && /usr/bin/python3 /scripts/script1.py

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

Оригинал источника


Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

Unlix © Все права защищены 2023

Копирование материалов с сайта Unlix.ru без указания полной ссылки на источник ЗАПРЕЩЕНО!