【问题标题】:Python Script stuck in crontab - Python - Selenium - Xvfb - Firefox - UbuntuPython 脚本卡在 crontab 中 - Python - Selenium - Xvfb - Firefox - Ubuntu
【发布时间】: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


【解决方案1】:

这不是最好的解决方案,但它可以帮助我解决这个问题。 我使用 Chrome 而不是 Firefox。当我将 scipt 放入 crontab 时,它不会卡住。

这里是如何使用 Chrome/Chromium 获得工作 chromedriver 的教程:Running webdriver chrome with Selenium

【讨论】:

  • “使用 Chrome”并没有回答 OP 的问题
【解决方案2】:

我遇到了这个问题,至少对我来说,解决方法是将 crontab 中的 HOME 变量设置为运行 cronjob 的用户的主目录的路径。它以前被设置为“/”。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-07-19
    • 2013-07-05
    • 2017-11-11
    • 2021-02-28
    • 2017-02-05
    • 1970-01-01
    • 1970-01-01
    • 2016-11-28
    相关资源
    最近更新 更多