2014-06-18 73 views
1

我想运行一个python脚本,在其中打开一个网页并单击某个元素。但脚本运行速度非常慢,并给出了随机例外。无法在Amazon EC2上运行python selenium webdriver脚本

主要是它在停止线 驱动= webdriver.Firefox()

消息 -

selenium.common.exceptions.WebDriverException:消息: '可以\' 吨加载的配置文件。配置文件?目录:/ tmp/tmp4liaEq Firefox输出:Xlib:扩展名“RANDR”缺少显示“:1733”。\ n1403086712970 \ taddons.xpi \ tDEBUG \ tstartup \ n1403086713204 \ taddons.xpi \ tDEBUG \ tcheckForChanges \ n1403086713568 \ taddons。 XPI \ tDEBUG \发现\ n”

有时TNO变化 - driver.find_element_by_xpath("//a[@id='some_id']") 返回错误的元素不可见,所以不能点击。

相同的脚本在我的系统上运行时有4GB RAM。 (EC2系统规格〜600MB内存)

我试图寻找到系统中, “顶” 命令返回 - 我已经安装了Firefox和也

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

xvfb的,因为我运行Firefox的headlessly

+0

@vipul任何想法可能是什么问题? –

+0

请问您可以将代码添加到问题中吗? – Vipul

+0

有时驱动程序试图在页面完全加载之前单击某个元素,在这种情况下元素不可见。为了让页面在点击元素之前完全加载,我们使用显式等待(在selenium文档中给出)或简单的'time.sleep'。而代码停在'driver = webdriver.Firefox()'看起来很奇怪。尝试重新安装硒可能是你的版本有问题:'PIP安装-U硒' – Vipul

回答

0

我正面临同样的问题。 以root身份运行脚本解决了问题。 也让用户运行测试sudoer工作。

相关问题