将 .crx 加载到远程 chrome Selenium python

Loading .crx into remote chrome Selenium python

我正在尝试使用 selenium 将我的扩展安装到远程计算机上。 我找到了一些代码片段可以实现这一点,但我不知道如何让它工作。

到目前为止我尝试过的是:

desired_cap = {'browser': 'Chrome', 'browser_version': '50.0', 'os': 'Windows', 'os_version': '10', 'resolution': '1366x768'}

def officialv1():
    url= 'loginurl'
        chop = webdriver.ChromeOptions()
        chop.add_extension('./Shoppingbuddy_v5.4.2.crx')
        driver = webdriver.Remote(command_executor=url, desired_capabilities=desired_cap, chrome_options=chop)

chrome_options=chop 不合适,因为我不知道如何使用 command_executordesired_capabilities 参数将此命令推送到远程浏览器。

我无法告诉我的遥控器 chrome 使用本地文件安装扩展。 那么我如何告诉我的远程和活动 chrome,安装一个位于我本地脚本文件夹中的扩展。

我找到了 this question,它部分回答了我的问题,但没有告诉我如何远程进行。

这是一个使用远程服务器添加 Chrome 扩展的示例:

from selenium import webdriver

options = webdriver.ChromeOptions()
options.add_extension(r'C:\Downloads\Adblock-Plus_v1.11.crx')

capabilities = options.to_capabilities()
capabilities.update({'browser_version': '50.0', 'os': 'Windows', 'os_version': '10', 'resolution': '1366x768'})

driver = webdriver.Remote("http://127.0.0.1:4444/wd/hub", desired_capabilities=capabilities)
driver.get('http://whosebug.com/')

请注意,最好将 Log level 设置为 WARNING 以阻止服务器在日志和控制台中写入扩展的二进制内容:

java -Dselenium.LOGGER.level=WARNING -jar selenium-server-standalone-2.53.0.jar