Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/312.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将外部扩展添加到selenium(chrome)python中_Python_Python 3.x_Selenium_Selenium Chromedriver - Fatal编程技术网

如何将外部扩展添加到selenium(chrome)python中

如何将外部扩展添加到selenium(chrome)python中,python,python-3.x,selenium,selenium-chromedriver,Python,Python 3.x,Selenium,Selenium Chromedriver,更新问题: 在这一点上,如果有人能告诉我如何在运行时在selenium中添加任何类型的扩展,我的目标是能够运行脚本,让chrome安装并激活扩展,因为当运行chromedriver时,chrome就像香草一样(没有安装或激活扩展)我尝试了以下答案,但没有运气,我尝试了寻找视频,查看文档,但我一直失败,如果有人有任何见解,我会非常感激 下面的原始帖子 当我使用selenium时,我正在尝试取消阻止origin extension在我的chrome上工作,而上面的代码似乎失败了,我尝试了几种方法让它

更新问题:

在这一点上,如果有人能告诉我如何在运行时在selenium中添加任何类型的扩展,我的目标是能够运行脚本,让chrome安装并激活扩展,因为当运行chromedriver时,chrome就像香草一样(没有安装或激活扩展)我尝试了以下答案,但没有运气,我尝试了寻找视频,查看文档,但我一直失败,如果有人有任何见解,我会非常感激

下面的原始帖子 当我使用selenium时,我正在尝试取消阻止origin extension在我的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
第一次尝试:

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)
第三次尝试:

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)
前两次代码尝试是基于这样的想法,即我必须单独安装extensions.crx文件,并放置该文件的目录,以便使用以下方法使扩展工作: 第一次尝试(不指定目录)

第二次尝试(使用“path\u to\u directory”变量指定) 我使用一个名为“”的站点单独安装了.crx,并将其放置在一个目录中(本例中为我的C:\Selenium\文件夹)

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

path_to_extension = (r'C:\Selenium\1.16.18_0')
任何建议都会有帮助,我不介意为了让它发挥作用而完全放弃我所拥有的,我只是尝试了迄今为止在互联网上看到的所有方法

我最近还尝试使用以下方法,但失败了

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

事实证明,我无法启用Ublock的唯一原因仅仅是因为我启用了incognito,这出于某种原因导致扩展无法加载,但一旦我对其进行了注释,扩展就开始工作了。我希望这能帮助其他可能处于相同情况的人

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

我已经编辑了我的答案,我希望我正确理解了这个问题…如果它不起作用,请告诉我。你从哪里得到的.crx文件?