python - Selenium |将多个扩展加载到 Selenium 的 ChromeDriver 中,只接收最后定义的

标签 python selenium google-chrome-extension selenium-chromedriver

我目前正在尝试将两个扩展加载到 Selenium 的 ChromeDriver 中。 Ublock Origin 和 Ghostery。在网上看,解决这个问题的方法很简单,就是为每个扩展添加一个参数。但是,当我尝试添加这两个参数时,它只会加载第二个定义的扩展而忽略第一个。

from selenium import webdriver
from selenium.webdriver.chrome.options import Options

PATH = "C:\Program Files (x86)\chromedriver.exe"

ublock = r'C:\Users\Senuvox\PycharmProjects\Projects\SeleniumExtensions\1.35.2_0'
ghostery = r'C:\Users\Senuvox\PycharmProjects\Projects\SeleniumExtensions\8.5.5_0'

options = Options()
options.add_argument('load-extension=' + ghostery)
options.add_argument('load-extension=' + ublock)
options.add_argument('--ignore-ssl-errors=yes')
options.add_argument('--ignore-certificate-errors')

driver = webdriver.Chrome(PATH, options=options)
driver.create_options()
driver.get("http://www.google.com")

如前所述,当运行此脚本时,只有 Ublock 会加载到 Selenium chrome 浏览器中。同样,如果我调换顺序,使 Ublock 排在第一位,Ghostery 排在第二位,则只会加载 Ghostery。

此外,我还尝试通过在两个扩展变量之间添加逗号来将其单行化。不幸的是,这提供了一个错误,因为 add_argument 只接受两个位置参数。

任何关于我如何解决这个问题的见解都将不胜感激!

最佳答案

#use .crx file path of extension
options.add_extension('C:\\Users\\ublock-1.35.2_0.crx')
options.add_extension('C:\\Users\\ghostery-8.5.5_0.crx')

useful resource

关于python - Selenium |将多个扩展加载到 Selenium 的 ChromeDriver 中,只接收最后定义的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67729333/

相关文章:

python - 将类型为 "object"的数据帧列转换为 set()

java - 使用 WebDriver/HtmlUnit 获取所有 HTTP 请求

java - 检索和访问 Selenium 中的相同元素

java - 我如何更改 android.widget.CheckedTextView 的检查值

Python Pandas - 识别数据帧列中第一个匹配值的索引

python - 三阶矩计算 - numpy

javascript - 没有右键单击 Chrome 扩展程序

javascript - Chrome 分机 : Javascript interrogate URL string for hostname

python - 如何在 python 类中属性为 True 时阻止方法

javascript - Chrome 插件随机向我的 C++ native 主机应用程序发送垃圾