【问题标题】:Unable to run python selenium webdriver scripts over Amazon EC2无法在 Amazon EC2 上运行 python selenium webdriver 脚本
【发布时间】:2014-06-18 10:16:04
【问题描述】:

我正在尝试运行一个 python 脚本,在该脚本中我打开一个网页并单击某个元素。但该脚本运行速度非常慢并给出随机异常。

大多数情况下它会停在一行 driver = webdriver.Firefox()

消息-

selenium.common.exceptions.WebDriverException:消息:'无法加载配置文件。配置文件 ?Dir:/tmp/tmp4liaEq Firefox 输出:Xlib:显示“:1733”上缺少扩展名“RANDR”。\n1403086712970\taddons.xpi\tDEBUG\tstartup\n1403086713204\taddons.xpi\tDEBUG\tcheckForChanges\n1403086713568\taddons。 xpi\tDEBUG\t未发现更改\n'

有时—— driver.find_element_by_xpath("//a[@id='some_id']") 返回元素不可见因此无法点击的错误。

相同的脚本在我有 4GB RAM 的系统上运行顺畅。 (EC2 系统规格 ~ 600mb 内存)

我尝试查看系统并返回“top”命令 -

604332k total, 577412k used, 26920k free, 6616k buffers

我已经安装了 firefox 和 xvfb,因为我正在无头运行 firefox

【问题讨论】:

  • @vipul 知道可能是什么问题吗?
  • 能否将代码添加到问题中?
  • 有时驱动程序会在页面完全加载之前尝试单击一个元素,在这种情况下该元素不可见。为了让页面在单击元素之前完全加载,我们使用显式等待(在 selenium 文档中给出)或只是一个简单的time.sleep。停在driver = webdriver.Firefox() 的代码看起来很奇怪。尝试重新安装 selenium 可能是您的版本有问题:pip install -U selenium
  • 已经尝试了所有这些方法,但仍然面临同样的问题! Selenium 已经是最新的,Firefox 版本是 30.0
  • 请在问题中添加代码,然后我会尝试在我的机器上运行它

标签: python firefox selenium amazon-web-services amazon-ec2


【解决方案1】:

我也遇到了同样的问题。 以 root 身份运行脚本解决了这个问题。 还使运行测试的用户成为 sudoer 工作。

【讨论】:

    猜你喜欢
    • 2014-06-03
    • 2013-10-27
    • 1970-01-01
    • 1970-01-01
    • 2021-12-19
    • 2013-08-31
    • 2023-03-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多