Sam*_*eer 11 python selenium phantomjs
我有一个使用Selenium和PhantomJS的小型测试python脚本.Python版本为2.7,PhantomJS为1.9.2.我后来计划将它与BeautifulSoup一起用于访问金融网站.
我的python脚本看起来像这样 -
from selenium import webdriver
phantomJSPath = "C:\my working dir\\Lib\phantomjs.exe"
browser = webdriver.PhantomJS(executable_path=phantomJSPath)
Run Code Online (Sandbox Code Playgroud)
执行后我得到以下错误 -
文件"C:\ my working dir\Test.py",第32行,在运行中
browser = webdriver.PhantomJS(executable_path=phantomJSPath)
File "C:\Python27\lib\site- packages\selenium\webdriver\phantomjs\webdriver.py", line 56, in __init__
desired_capabilities=desired_capabilities)
File "C:\Python27\lib\site- packages\selenium\webdriver\remote\webdriver.py", line 87, in __init__
self.start_session(desired_capabilities, browser_profile)
File "C:\Python27\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 136, in start_session
'desiredCapabilities': desired_capabilities,
File "C:\Python27\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 196, in execute
self.error_handler.check_response(response)
File "C:\Python27\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 102, in check_response
value = json.loads(value_json)
File "C:\Python27\lib\json\__init__.py", line 326, in loads
return _default_decoder.decode(s)
File "C:\Python27\lib\json\decoder.py", line 366, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "C:\Python27\lib\json\decoder.py", line 384, in raw_decode
raise ValueError("No JSON object could be decoded")
ValueError: No JSON object could be decoded
Run Code Online (Sandbox Code Playgroud)
有谁知道我为什么会收到这个错误?
当使用在 Ubunto 15 上运行的 selenium 1.9.8 调用 browser.close() 时,我遇到了类似的问题(暂时的):
File "propertunity/soup/Soup.py", line 121, in get...
browser.close()
File "/home/<user>/.local/lib/python2.7/site-packages/selenium/webdriver/remote/webdriver.py", line 473, in close
self.execute(Command.CLOSE)
File "/home/<user>/.local/lib/python2.7/site-packages/selenium/webdriver/remote/webdriver.py", line 201, in execute
self.error_handler.check_response(response)
File "/home/<user>/.local/lib/python2.7/site-packages/selenium/webdriver/remote/errorhandler.py", line 102, in check_response
value = json.loads(value_json)
File "/usr/lib/python2.7/json/__init__.py", line 338, in loads
return _default_decoder.decode(s)
File "/usr/lib/python2.7/json/decoder.py", line 366, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "/usr/lib/python2.7/json/decoder.py", line 384, in raw_decode
raise ValueError("No JSON object could be decoded")
ValueError: No JSON object could be decoded
Run Code Online (Sandbox Code Playgroud)
关闭浏览器后似乎没有真正清理 close() 的一个已知问题。尝试更改 close() 以退出并将浏览器对象设置为 None。