Python – Selenium PhantomJS – Ошибка JSON

У меня есть небольшой тестовый скрипт python, который использует Selenium и PhantomJS. Версия 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) 

После выполнения я получаю следующую ошибку:

Файл «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 

Кто-нибудь знает, почему я получаю эту ошибку?

3 Solutions collect form web for “Python – Selenium PhantomJS – Ошибка JSON”

У меня есть аналогичная проблема (переходная) при вызове browser.close () с селеном 1.9.8, работающим на Ubunto 15:

  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 

Кажется, есть известная проблема с close (), которая не совсем очищается после завершения работы с браузером. Попытайтесь изменить close (), чтобы выйти и установить для объекта браузера значение None.

Вы должны предоставить дополнительные параметры для определения browser , он пытается назначить desired_capabilities=desired_capabilities которые ожидают json-объект. Вы можете сделать это следующим образом:

 from selenium import webdriver phantomJSPath = "C:\my working dir\\Lib\phantomjs.exe" desiredCap = {'platform': 'ANY', 'browserName': 'phantomjs', 'version': '', 'javascriptEnabled': True} browser = webdriver.PhantomJS(executable_path=phantomJSPath, port=0, desired_capabilities=desiredCap) 

Извините, что ответила на мою собственную щедрость, но для тех, кто может столкнуться с подобными проблемами: переменная окружения http_proxy не очень хорошо работает с phantomjs и selenium. Я удалил его, и все работало так, как должно было.

  • Проверьте, доступен ли элемент в селене
  • Как создать пользователя-администратора с помощью Factory_Boy?
  • Как посмотреть сеанс xvfb, находящийся внутри докера на удаленном сервере, из моего локального браузера?
  • Selenium webdriver: Как найти ВСЕ атрибуты элемента?
  • Пример события касания с webdriver python?
  • Безголовый бесконечный свиток селена
  • Selenium / PhantomJS вызывает ошибку
  • Python / Selenium / Firefox: не удается запустить firefox с указанным профилем
  • Предотвращение загрузки CSS / другого ресурса в PhantomJS / Selenium, управляемом Python
  • авторизация авторизации с помощью cookie
  • Не удается отправить ключи на сайт с Selenium Python на Centos в Firefox
  • Python - лучший язык программирования в мире.