我如何在硒(chrome)python中添加EXTERNAL扩展名

时间:2018-09-03 16:20:14

标签: python python-3.x selenium selenium-chromedriver

更新的问题:

在这一点上,如果任何人都可以给我有关在运行时如何在selenium中添加任何类型的扩展的任何提示,那么我的目标是能够运行脚本并让chrome安装并激活扩展,因为当您运行chromedriver时,chrome就像是Vanilla(没有安装扩展程序,或者没有激活),我尝试了以下答案,但没有运气,我试图查找视频,查看文档,但是我只是不断失败,如果有人有任何见识,我将不胜感激!!!

下面的原始帖子

当我使用硒时,我试图解除对原点扩展的限制,以便在我的chrome上工作,并且上面的代码似乎失败了,我尝试了几种方法使其工作,但都失败了,所有尝试均已实现可以根据我在这里或youtube上阅读的内容来工作!如果有人可以在这里帮助我,那就太好了!

导入整个代码,我对硒还是很陌生,所以我将仍在使用的所有导入都放在库中,以弄清楚做什么。

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

第一次尝试:

option = webdriver.ChromeOptions()
option.add_argument('load-extension=' + 'uBlock-Origin_v1.16.18.crx')

第二次尝试:

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

option = webdriver.ChromeOptions()
option.add_argument('load-extension=' + path_to_extension)

第三次尝试:

#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)

前两次尝试代码基于以下想法:我必须单独安装扩展名.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')

任何建议都会有所帮助,我不介意为了使它正常工作而完全刮I自己的东西,我只是尝试了到目前为止在互联网上看到的所有方法。

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

option.add_extension(r'C:\Selenium\uBlock-Origin_v1.16.18.crx')

1 个答案:

答案 0 :(得分:1)

结果证明,我无法启用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")