无法从crontab执行Python脚本

时间:2020-05-04 09:38:12

标签: python cron python-webbrowser

我无法通过crontab执行以下附加的python脚本。当我直接从CLI运行脚本时,它工作正常,我看到了如何快速打开浏览器,设置所有内容然后关闭浏览器的快速操作。但是,在crontab中运行时,什么也不会发生。 Crontab条目:

* * * * * /full/path/to/script.py

我也尝试过:

* * * * * /usr/bib/python /full/path/to/script.py

脚本:

#!/usr/bin/python

from selenium import webdriver
from selenium.webdriver.support.ui import Select

browser = webdriver.Chrome(executable_path="/usr/local/bin/chromedriver")
#open website
browser.get("http:website.php")
# find element in dropdown
Select(browser.find_element_by_name("ma")).select_by_value("817")
# confirm by clicking button
element = browser.find_element_by_xpath("/html/body/form/table/tbody/tr[2]/td[3]/input")
element.click()

# select dropdown 
Select(browser.find_element_by_name("status")).select_by_value("11")

#confirm dropdown
submit = browser.find_element_by_xpath("/html/body/form/table[3]/tbody/tr/td/input")
submit.click()

browser.close()

/ var / log / syslog:

May  4 11:34:01 pavol-Vostro-15-3568 CRON[11685]: (root) CMD (/full/path/to/script.py)

1 个答案:

答案 0 :(得分:0)

我遇到了与您相似的问题。您的工作可能失败,因为您要打开网络浏览器,因此需要X session。您应将export DISPLAY=:0;放在计划表中的cronjob中,如

* * * * * export DISPLAY=:0; /usr/bib/python /full/path/to/script.py

如果这不起作用,则可以尝试在图形终端中用:0的输出替换echo $DISPLAY