如何将 EXTERNAL 扩展添加到 selenium (chrome) python

dav*_*yan 2 python selenium python-3.x selenium-chromedriver

更新的问题:

在这一点上,如果有人可以给我任何关于如何在运行时在 selenium 中添加任何类型的扩展的提示,我的目标是能够运行脚本并让 chrome 安装并激活扩展,因为从什么时候开始您运行 chromedriver,chrome 就像香草一样(没有安装扩展或活动) , 如果有人有任何见解,我将不胜感激!!!

原帖如下

我正在尝试在使用 selenium 时解除阻止 origin 扩展以在我的 chrome 上工作,并且上面的代码似乎失败了,我已经尝试了一些方法来让它工作,但都失败了,所有试图让它工作的尝试都是根据我在此处或在 youtube 上阅读的内容!如果有人能在这里帮助我,那就太好了!

整个代码的导入,我对 selenium 非常陌生,所以我放置了所有我仍在使用的库的导入,以弄清楚什么是做什么的。

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.select import Select
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.common.exceptions import TimeoutException
Run Code Online (Sandbox Code Playgroud)

第一次尝试:

option = webdriver.ChromeOptions()
option.add_argument('load-extension=' + 'uBlock-Origin_v1.16.18.crx')
Run Code Online (Sandbox Code Playgroud)

第二次尝试:

path_to_extension("C:\Selenium\uBlock-Origin_v1.16.18.crx")

option = webdriver.ChromeOptions()
option.add_argument('load-extension=' + path_to_extension)
Run Code Online (Sandbox Code Playgroud)

第三次尝试:

#adding ublock Origin
path_to_extension = (r'C:\Selenium\1.16.18_0')

# example option: add 'incognito' command line arg to options
option = webdriver.ChromeOptions()
option.add_argument("--incognito")
options.add_argument('load-extension=' + path_to_extension)
Run Code Online (Sandbox Code Playgroud)

前两次尝试代码基于我必须单独安装扩展 .crx 文件并放置该文件的目录以便使用以下方法使扩展工作的想法:第一次尝试(不指定目录)

第二次尝试(使用“path_to_directory”变量指定)我使用名为“ https://chrome-extension-downloader.com/ ”的站点单独安装了 .crx ,并将其放置在我的 C:\Selenium\ 文件夹中的目录中.

第三次尝试,包括为我的常规 chrome 浏览器找到我的扩展程序 (ublock) 的安装目录,并复制文件夹(在本例中为“1.16.18_0”文件夹并将其放入(“C:\Selenium)目录以便于访问,我在引用路径之前阅读以放置一个 r ,然后编写代码。

path_to_extension = (r'C:\Selenium\1.16.18_0')
Run Code Online (Sandbox Code Playgroud)

任何建议都会有所帮助,我不介意完全刮掉我所拥有的东西以使它起作用,我只是尝试了迄今为止在互联网上看到的所有方法。

我最近也尝试使用以下失败的方法

option.add_extension(r'C:\Selenium\uBlock-Origin_v1.16.18.crx')
Run Code Online (Sandbox Code Playgroud)

dav*_*yan 6

事实证明,我无法启用 Ublock 的唯一原因仅仅是因为我启用了隐身功能,这出于某种原因导致扩展程序无法加载,但是一旦我将其注释掉,扩展程序就开始美化了。我希望这可以帮助任何可能处于相同情况的人。

#Adding adblocker
option = webdriver.ChromeOptions()
#option.add_argument("--incognito")
option.add_extension(r"C:\Users\David\Documents\Extensions\uBlock-Origin_v1.16.18.crx")
Run Code Online (Sandbox Code Playgroud)