Uso*_*obi 5 python ubuntu selenium crontab
我有一个python脚本,通过selenium调用chrome与下一行.
ff = webdriver.Chrome('/home/user01/webScraping/CollectAndGo/chromedriver')
Run Code Online (Sandbox Code Playgroud)
从shell脚本调用python脚本.
python /home/user01/webScraping/CollectAndGo/cgcom.py > /home/user01/webScraping/CollectAndGo/cgcom.log 2>&1
Run Code Online (Sandbox Code Playgroud)
当我从终端运行脚本或只是执行.sh文件时,它运行正常,但是当我安排crontab作业时,它会因下一个错误而失败.
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: u'unknown error: Chrome failed to start: exited abnormally\n (Driver info: chromedriver=2.9.248304,platform=Linux 3.5.0-36-generic x86_64)'
Run Code Online (Sandbox Code Playgroud)
该错误与此问题的第一行代码有关.有人知道为什么会发生这种情况吗?
尝试启动浏览器时最明显的问题cron是,即使您的计算机上运行了X,DISPLAY也没有为从您crontab启动浏览器的进程设置环境变量,因此会失败.
解决方案范围从琐碎到超级复杂.一个简单的解决方案是接受如果没有X运行并且手动设置DISPLAY为你的脚本将不会运行:0,这是Ubuntu启动的默认X服务器的默认显示号.
例如,如果我在command一行中使用此命令,则Chrome启动时没有问题:
DISPLAY=:0 google-chrome
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5622 次 |
| 最近记录: |