Не могу запустить селен сценарий python с помощью crontab - PullRequest
0 голосов
/ 15 февраля 2020

У меня есть скрипт python, который находит мои оценки на веб-странице и отправляет мне электронное письмо, если какие-либо из моих оценок были изменены. Сейчас я пытаюсь запускать этот скрипт каждый час с помощью crontab. Скрипт работает при запуске через терминал:

python3 /home/pi/Desktop/grades/script.py

Я не совсем понимаю, как crontab интерпретирует команды, но как первое, что я попробовал, я сделал:

* * * * * python3 /home/pi/Desktop/grades/script.py

Это не Работа. Посмотрев вокруг, я обнаружил, что мне нужно указать ОБОЛОЧКУ. Я сделал which bash и which zsh, чтобы найти правильную оболочку для использования. Это пришло с bash. Итак, в верхней части crontab я ввожу:

SHELL=/bin/bash

Затем я обнаружил, что мне нужно указать отображение. Поэтому я сделал inv | grep 'DISPLAY', чтобы найти номер дисплея, который был 0.0. Поэтому я добавил еще одну вещь в crontab:

* * * * * DISPLAY=:0 python3 /home/pi/Desktop/grades/script.py

Хотя я не думаю, что мне нужно указывать переменную PATH, я все же сделал echo $PATH и скопировал весь результат в crontab.

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/games:/usr/games

Тогда кто-то предложил удостовериться, что хромедрайвер действительно был найден, и убедиться, что я должен указать абсолютный путь к хроматриверу в моей программе. На данный момент код, который устанавливает драйвер - driver = webdriver.Chrome(), и это прекрасно работает. Если я попытаюсь указать точный путь к исполняемому файлу chromedriver, я получу сообщение об ошибке.

Кажется, что независимо от того, что я делаю, это не работает. Я пытался найти это много раз, но ничто не решает эту проблему. Буду очень признателен за любую помощь!

1 Ответ

0 голосов
/ 15 февраля 2020

Это может быть несколько способов справиться с этим. 1. Необходимо указать полный путь python

* * * * * '/usr/bin/python3 /home/pi/Desktop/grades/script.py'

2. Вы должны поместить строку shebang в ваш скрипт, ссылки на примеры.

#!/usr/bin/env python3 or  #!/usr/bin/python3.
* * * * * /home/pi/Desktop/grades/script.py
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...