gpt4 book ai didi

python - 无法通过 Selenium 在 python 中运行 PhantomJS

转载 作者:太空狗 更新时间:2023-10-29 22:26:36 25 4
gpt4 key购买 nike

过去 3 天我一直在尝试通过 selenium 运行 PhantomJS,但没有成功。到目前为止,我已经尝试通过 npm 安装 PhantomJS,从源代码构建它,通过 apt-get 安装并下载预构建的可执行文件并将其放在/usr/bin/phantomjs 中。

每次我能够运行此示例脚本 loadspeed.js 时:

var page = require('webpage').create(),
system = require('system'),
t, address;

if (system.args.length === 1) {
console.log('Usage: loadspeed.js <some URL>');
phantom.exit();
}

t = Date.now();
address = system.args[1];
page.open(address, function (status) {
if (status !== 'success') {
console.log('FAIL to load the address');
} else {
t = Date.now() - t;
console.log('Loading time ' + t + ' msec');
}
phantom.exit();
});

然后用'phantomjs test.js http://google.com运行它' 并且它按预期工作。

但是在这个小的 python 脚本中通过 selenium 运行 PhantomJS 会产生错误:

from selenium import webdriver
browser = webdriver.PhantomJS()
browser.get('http://seleniumhq.org')

python 测试.py

Traceback (most recent call last):
File "test.py", line 4, in <module>
browser.get('http://seleniumhq.org/')
File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/webdriver.py", line 176, in get
self.execute(Command.GET, {'url': url})
File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/webdriver.py", line 162, in execute
response = self.command_executor.execute(driver_command, params)
File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/remote_connection.py", line 350, in execute
return self._request(url, method=command_info[0], data=data)
File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/remote_connection.py", line 382, in _request
resp = self._conn.getresponse()
File "/usr/lib/python2.7/httplib.py", line 1045, in getresponse
response.begin()
File "/usr/lib/python2.7/httplib.py", line 409, in begin
version, status, reason = self._read_status()
File "/usr/lib/python2.7/httplib.py", line 373, in _read_status
raise BadStatusLine(line)
httplib.BadStatusLine: ''

用 browser = webdriver.Firefox() 替换第二个 LOC 工作正常。

我在 Ubuntu 13.10 桌面上,在 Ubuntu 13.04 上也出现同样的错误。

python :2.7PhantomJS:1.9.2

我在这里做错了什么?

最佳答案

似乎在较新的 Selenium 中引入了一些问题,请参阅

http://code.google.com/p/selenium/issues/detail?id=6690

我通过使用得到了进一步的使用

pip install selenium==2.37

避免上面的堆栈跟踪。 driver.save_screenshot('foo.png') 仍然有问题导致文件为空。

关于python - 无法通过 Selenium 在 python 中运行 PhantomJS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20435220/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com