Python selenium+PhantomJS写爬虫时报错;ValueError: No JSON object could be decoded
程序源码为:
In [1]: from selenium import webdriver
In [2]: from selenium.webdriver.common.keys import Keys
In [3]: driver=webdriver.PhantomJS()
In [4]: driver.get(“http://www.baidu.com/“)
In [5]: driver.save_screenshot(‘baidu.jpg’)
Out[5]: True
In [6]: driver.save_screenshot(‘baidu.png’)
Out[6]: True
In [7]: driver.find_element_by_id(“kw”).send_keys(‘花’)
ValueError Traceback (most recent call last)
in ()
—-> 1 driver.find_element_by_id(“kw”).send_keys(‘花’)
/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/webdriver.pyc in find_element_by_id(self, id_)
232 driver.find_element_by_id(‘foo’)
233 “””
–> 234 return self.find_element(by=By.ID, value=id_)
235
236 def find_elements_by_id(self, id_):
/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/webdriver.pyc in find_element(self, by, value)
710 value = ‘[name=”%s”]’ % value
711 return self.execute(Command.FIND_ELEMENT,
–> 712 {‘using’: by, ‘value’: value})[‘value’]
713
714 def find_elements(self, by=By.ID, value=None):
/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/webdriver.pyc in execute(self, driver_command, params)
199 response = self.command_executor.execute(driver_command, params)
200 if response:
–> 201 self.error_handler.check_response(response)
202 response[‘value’] = self._unwrap_value(
203 response.get(‘value’, None))
/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/errorhandler.pyc in check_response(self, response)
100 if value_json and isinstance(value_json, basestring):
101 import json
–> 102 value = json.loads(value_json)
103 status = value[‘error’]
104 message = value[‘message’]
/usr/lib/python2.7/json/init.pyc in loads(s, encoding, cls, object_hook, parse_float, parse_int, parse_constant, object_pairs_hook, **kw)
337 parse_int is None and parse_float is None and
338 parse_constant is None and object_pairs_hook is None and not kw):
–> 339 return _default_decoder.decode(s)
340 if cls is None:
341 cls = JSONDecoder
/usr/lib/python2.7/json/decoder.pyc in decode(self, s, _w)
362
363 “””
–> 364 obj, end = self.raw_decode(s, idx=_w(s, 0).end())
365 end = _w(s, end).end()
366 if end != len(s):
/usr/lib/python2.7/json/decoder.pyc in raw_decode(self, s, idx)
380 obj, end = self.scan_once(s, idx)
381 except StopIteration:
–> 382 raise ValueError(“No JSON object could be decoded”)
383 return obj, end
ValueError: No JSON object could be decoded