当前位置: 首页 > 知识库问答 >
问题:

如何用python在selenium中加载chrome驱动内的扩展

拓拔野
2023-03-14

我在启用Browsec扩展的情况下打开chrome浏览器的所有努力都失败了。这是我最近尝试的--

# Configure the necessary command-line option.
options = webdriver.ChromeOptions()
options.add_argument(r'--load- 
extension=C:\Users\lap0042\AppData\Local\Google\Chrome\User 
Data\Default\Extensions\omghfjlpggmjjaagoclmmobgdodcjboh')

# Initalize the driver with the appropriate options.
driver = webdriver.Chrome(chrome_options=options)

driver.get("http://stackoverflow.com")

这将导致错误“无法从加载扩展名。清单文件丢失或不可读”

搜索此错误后,我得到Manifest.json文件应该重命名为manifest.json.txt但这样做会导致同样的错误。

任何帮助都将不胜感激

共有3个答案

裴经义
2023-03-14

据我所知,最简单的答案-在您所引用的位置的子文件夹中显示(例如3.28.2_0'或任何最新版本的扩展…)

这假设您使用的是“options.add_argument(”--load extension=“)。。。

options.add_extension('引用crx文件. crx')

司马钱明
2023-03-14

使用此代码获取扩展

from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities

ChromeOptions options = new ChromeOptions();
options.addExtensions(new File("/pathtoChromeextension.crx")); //adding 
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability(ChromeOptions.CAPABILITY, options);
ChromeDriver driver = new ChromeDriver(capabilities);

使用以下命令从您的扩展ID中获取crx文件 http://crxextractor.com/,该扩展ID是omghfjlpggmjjaagoclmmobgdodcjboh

张嘉熙
2023-03-14

要打开带有任何扩展的chrome浏览器,您需要通过< code>chrome.options类的实例使用< code>add_extension()方法,您可以使用以下解决方案:

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

chrome_options = Options()
chrome_options.add_extension(r'C:\path\to\extension.crx')
driver = webdriver.Chrome(chrome_options=chrome_options, executable_path=r'C:\Utility\BrowserDrivers\chromedriver.exe')
driver.get('https://www.google.co.in')
print("Page Title is : %s" %driver.title)
driver.quit()

您可以在以下位置找到相关文档:

  • ChromeDriver - 适用于 Chrome 的 WebDriver。

您可以在以下位置找到一些相关讨论:

  • [Python] 如何使用Selenium安装Chrome扩展程序
 类似资料:
  • 在运行selenium时,我需要从web商店加载一个chrome扩展。在我的研究中,我只发现了如何从本地机器加载扩展。 selenium是否可以从Web存储加载扩展?

  • 更新问题: 在这一点上,如果有人能给我任何提示,我可以添加任何类型的扩展在运行时在selenium中,我的目标是能够运行脚本,并让chrome安装扩展和活动,因为当你运行chromedriver时,chrome就像香草一样(没有安装或活动的扩展)我试过以下答案,但没有运气,我试过查找视频,查看文档,但我总是失败,如果有人有任何见解,我将非常感谢!!! 当我使用selenium时,我试图解除阻止or

  • 问题内容: 我正在尝试在启动seleniumchrome时禁用所有chrome扩展名。但是,每次我运行代码时,所有扩展都将继续启动。有没有一种禁用扩展的方法。 样例代码 问题答案: 找到了解决方法。

  • 我正在使用Selenium 2.0为我的Google Chrome扩展创建自动化测试,其中包括: WebDriverJS+NodeJS ChromeDriver MacOSX 10.8.4 首先,我也想测试安装过程,但是当使用Selenium弹出安装对话框时,似乎不可能单击“Add”按钮。(我对此的另一个问题)。

  • 我正在Python中使用Selenium/ChromeDriver。在我的代码中使用ChromeDriver选项: 然而,无头Chrome不支持使用此答案中的扩展。我能够使用我当前的Python脚本获得无头Chrome,并且一切都运行良好,但是由于第三方广告/分析/请求,访问站点需要很长时间。 在我实现无头ChromeDriver之前,我使用了标准的非无头ChromeDriver并导入了uBloc

  • 我在selenium中寻找status_code,但找不到任何适合我需要的代码。我的另一个问题是,当我进入一个不存在的域时,让我们说https://gghgjeggeg.com。硒不会增加任何费用。它的页面源码如下:- 如何获取状态代码(有效域的状态代码,例如:https://twiitter.com/404errpage),以及为Selenium中不存在的域引发错误,或者是否有其他类似Selen