我正在尝试使用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_executor
和desired_capabilities
参数将此命令推送到远程浏览器。
我很难告诉我的远程chrome使用本地文件安装扩展程序。 那么如何告诉我的远程和活动chrome,安装我本地脚本文件夹中的扩展名。
我找到了this question,它部分地回答了我的问题,但它并没有告诉我如何远程处理它。
答案 0 :(得分:2)
以下是使用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://stackoverflow.com/')
请注意,最好将Log level
设置为WARNING
以阻止服务器在日志和控制台中编写扩展的二进制内容:
java -Dselenium.LOGGER.level=WARNING -jar selenium-server-standalone-2.53.0.jar