【问题标题】:Python script not executed from crontabPython 脚本未从 crontab 执行
【发布时间】:2020-07-30 06:42:48
【问题描述】:

我无法通过 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)

【问题讨论】:

标签: python cron python-webbrowser


【解决方案1】:

我遇到了与您类似的问题。您的工作可能会失败,因为它需要 X session,因为您正在尝试打开 Web 浏览器。你应该把export DISPLAY=:0;放在你的cronjob的时间表之后,就像

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-07-19
    • 2020-03-16
    • 1970-01-01
    • 2012-02-02
    • 2012-10-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多