【发布时间】:2014-05-01 04:15:03
【问题描述】:
我有以下环境
ESXi 下的 Ubuntu 14.04 LTS Python, Selenium webdriver, Xvfb
如果我手动运行我的脚本运行良好,但是当我将脚本放入 crontab 时卡住了。 我已经正确使用了导出显示,并且 firefox 进程启动了,但是浏览器只是灰显并且只有在 crontab 启动进程时才会卡住。如果我手动运行它,一切都很好。如果我使用下面的代码,它甚至可以通过 telnet 工作:
display = Display(visible=0, size=(1024,768))
display.start()
<CODE>
display.stop()
【问题讨论】:
-
当你通过 crontab 运行时,你的 shell 启动脚本没有运行,所以它无法访问你正常登录时得到的
DISPLAY环境变量。 -
但是脚本会启动,如果我不给脚本 DISPLAY 变量,浏览器会出现在桌面上,之后当脚本在第一次自动点击后继续时,它会变灰并且不执行任何操作。我为此花费了无数个小时,想知道是否有任何有 Selenium/Webdriver 经验的人可以给我一个提示。
-
我实际上想通了,问题是脚本没有从正确的 shell 变量开始。
标签: python selenium crontab xvfb ubuntu-14.04