我过去3天一直试图通过硒运行PhantomJS并且没有成功.到目前为止,我已尝试通过npm安装PhantomJS,从源代码构建它,通过apt-get安装并下载预构建的可执行文件并将其放在/ usr/bin/phantomjs中.
每次我能够运行此示例脚本的loadpeed.js:
var page = require('webpage').create(), system = require('system'), t, address; if (system.args.length === 1) { console.log('Usage: loadspeed.js'); 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 test.py
Traceback (most recent call last): File "test.py", line 4, inbrowser.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.7 PhantomJS:1.9.2
我在这做错了什么?