我创建了一个 python 脚本,它使用 selenium 下载一些文件,就像这样。
options = webdriver.ChromeOptions()
#file download path
prefs = {'download.default_directory' : main_directory}
options.add_experimental_option('prefs', prefs)
options.add_argument('--headless')
options.add_argument('--no-sandbox')
options.add_argument('--disable-dev-shm-usage')
options.add_argument("--window-size=1920x1080")
driver = webdriver.Chrome(executable_path='chromedriver', options=options)
driver.get(panel_link)
当我在我的 ubuntu 18.04.5 服务器上的终端上执行此脚本时,它运行良好。但是当这个脚本从 crontab 运行时,它总是在加载 chromedriver 时停止执行。
每次我都收到这个错误,我通过 cron 运行这个 python 脚本。
Message: Service chromedriver unexpectedly exited. Status code was: -5
我试过的: 1. add python script directly in crontab
2. created other script ```runpython.sh``` and then run python script from there.
3. created an apache server and tried to execute python script from php
以上所有方法都无法正常工作。请注意,当我直接执行时,此 python 脚本执行得很好,但通过 cron 执行时它不起作用。
计划:
48 21 * * * export DISPLAY=:0 && python3 /root/script/application_file_download.py >> /home/log/cron.log 2>&1
最佳答案
您可以尝试几件事:
* * * * */1 echo $(date)" cronjob ran" >> /home/<user>/cronlogs/logs.log
/bin:/user/bin
.如果您的命令位于不同的位置,您可以提供命令的完整路径ls-l
关于python - 有什么方法可以通过 cron 作业在 python 中运行 selenium,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71255632/