使用Python绑定将chromeOptions传递给RemoteDriver

使用Python绑定将chromeOptions传递给RemoteDriver,python,selenium-webdriver,webdriver,Python,Selenium Webdriver,Webdriver,我正在尝试为我的chrome风格的RemoteDriver添加一些chromeOptions 我通过复制现有的Chrome字典创建了一个DesiredCapabilities字典,并尝试使用ChromeOptions()对象添加我自己的选项 from selenium import webdriver from selenium.webdriver.common.desired_capabilities import DesiredCapabilities class RemoteDriver

我正在尝试为我的chrome风格的RemoteDriver添加一些chromeOptions

我通过复制现有的Chrome字典创建了一个
DesiredCapabilities
字典,并尝试使用
ChromeOptions()
对象添加我自己的选项

from selenium import webdriver
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities

class RemoteDriverStartService():

    chrome = DesiredCapabilities.CHROME.copy()
    options = webdriver.ChromeOptions()
    options.add_experimental_option("Proxy", "null")
    options.add_experimental_option("excludeSwitches", ["ignore-certificate-errors"])
    chrome["chrome.options"] = options

    def start_driver(self):
        return webdriver.Remote(command_executor='http://127.0.0.1:4444/wd/hub', 
                                desired_capabilities=self.chrome)
上面抛出了一个JSON无法序列化的异常。我相信这是由于
chrome[“chrome.options”]
行造成的,但我无法确定我需要使用什么

from selenium import webdriver
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities

class RemoteDriverStartService():

    options = webdriver.ChromeOptions()
    options.add_experimental_option("Proxy", "null")
    options.add_experimental_option("excludeSwitches", ["ignore-certificate-errors"])
    caps = options.to_capabilities()  # Here's the interesting part :)

    def start_driver(self):
        return webdriver.Remote(command_executor='http://127.0.0.1:4444/wd/hub', 
                                desired_capabilities=self.caps)