无法在Amazon EC2上运行python selenium webdriver脚本

1 投票
1 回答
1173 浏览
提问于 2025-04-18 10:12

我正在尝试运行一个Python脚本,这个脚本会打开一个网页并点击某些元素。但是,脚本运行得非常慢,还时不时出现一些随机的错误。

大多数情况下,它在这一行卡住了:

driver = webdriver.Firefox()

错误信息是:

selenium.common.exceptions.WebDriverException: 信息: '无法加载配置文件。配置文件目录: /tmp/tmp4liaEq Firefox 输出: Xlib: 显示 ":1733" 上缺少扩展 "RANDR"。\n1403086712970\taddons.xpi\t调试\t启动\n1403086713204\taddons.xpi\t调试\t检查更改\n1403086713568\taddons.xpi\t调试\t未发现更改\n'

有时候,

driver.find_element_by_xpath("//a[@id='some_id']")

会返回一个错误,提示这个元素不可见,所以无法点击。

同样的脚本在我有4GB内存的系统上运行得很顺利。(EC2系统的规格大约是600MB内存)

我尝试查看系统情况,使用“top”命令返回的结果是:

604332k 总共, 577412k 已使用, 26920k 空闲, 6616k 缓冲区

我已经安装了Firefox,并且因为我是在无头模式下运行Firefox,所以还安装了xvfb。

1 个回答

0

我也遇到过同样的问题。
以管理员身份运行脚本解决了这个问题。
另外,让一个用户拥有sudo权限也有效。

撰写回答