Selenium webdriver Selenium远程Webdriver提供JSONDecodeError
我的代码:Selenium webdriver Selenium远程Webdriver提供JSONDecodeError,selenium-webdriver,python-3.5,Selenium Webdriver,Python 3.5,我的代码: import unittest from selenium import webdriver from selenium.webdriver.common.desired_capabilities import DesiredCapabilities from selenium.webdriver.common import desired_capabilities class test_mycode(unittest.TestCase): def setUp(self):
import unittest
from selenium import webdriver
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
from selenium.webdriver.common import desired_capabilities
class test_mycode(unittest.TestCase):
def setUp(self):
desired_cap = {'browser': 'IE', 'browser_version': '8.0', 'os': 'Windows', 'os_version': '7', 'resolution': '1366x768'}
self.driver = webdriver.Remote(command_executor='http://username:ACCESS_KEY@hub.browserstack.com:80/wd/hub', desired_capabilities=desired_cap)
def test_website(self):
.....
错误是:
Traceback (most recent call last):
File "C:\Workspace\Pumpkin Patch Website\test cases\_test_mycode.py", line 55, in setUp
desired_capabilities=desired_cap)
File "C:\Users\elton.tiong\AppData\Local\Programs\Python\Python35-32\lib\site-packages\selenium-2.48.0-py3.5.egg\selenium\webdriver\remote\webdriver.py", line 87, in __init__
self.start_session(desired_capabilities, browser_profile)
File "C:\Users\elton.tiong\AppData\Local\Programs\Python\Python35-32\lib\site-packages\selenium-2.48.0-py3.5.egg\selenium\webdriver\remote\webdriver.py", line 141, in start_session
'desiredCapabilities': desired_capabilities,
File "C:\Users\elton.tiong\AppData\Local\Programs\Python\Python35-32\lib\site-packages\selenium-2.48.0-py3.5.egg\selenium\webdriver\remote\webdriver.py", line 201, in execute
self.error_handler.check_response(response)
File "C:\Users\elton.tiong\AppData\Local\Programs\Python\Python35-32\lib\site-packages\selenium-2.48.0-py3.5.egg\selenium\webdriver\remote\errorhandler.py", line 102, in check_response
value = json.loads(value_json)
File "C:\Users\elton.tiong\AppData\Local\Programs\Python\Python35-32\lib\json\__init__.py", line 319, in loads
return _default_decoder.decode(s)
File "C:\Users\elton.tiong\AppData\Local\Programs\Python\Python35-32\lib\json\decoder.py", line 339, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "C:\Users\elton.tiong\AppData\Local\Programs\Python\Python35-32\lib\json\decoder.py", line 357, in raw_decode
raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
selenium-server-standalone2.48.0已安装并正在运行
Python是3.5
这是我编写的在Browserstack上运行Selenium的代码。我遵循了Browserstack给出的指令,但是,当我运行它时,它引发了JSONDecodeError
我还将命令执行器更改为,但失败了。然后我将desire_capabilities=desired_cap更改为desired_capabilities.DesireCapabilities.FIREFOX,但它也失败了
我到处搜索,但找不到任何答案。有人能帮忙吗?非常感谢。我知道这已经2岁了,但由于没有人回答,希望这对其他人有帮助。
desired_cap
中的值基本上是无效的json。为了证实这一点,我对其进行了测试
修复方法很简单-将所有单引号替换为双引号:
desired_cap = {'browser': 'IE', 'browser_version': '8.0', 'os': 'Windows', 'os_version': '7', 'resolution': '1366x768'}
desired_cap = desired_cap.replace('\\'', '\\"')
旧的跟进,但这解决了我的问题。。。为什么呢?单引号和双引号在Python中不可互换吗?