【问题标题】:Selenium ChromeDriver - is it possible to load multiple extensions?Selenium ChromeDriver - 是否可以加载多个扩展?
【发布时间】:2016-08-01 08:40:24
【问题描述】:

(我是新手,请不要杀我)

我正在尝试为具有多个未打包扩展的基于 Chromium 的浏览器启动 ChromeDriver,因此(为方便起见而进行了简化,但与代码中的基本相同):

   foreach (var path in ExtensionsPaths)
   {
    CommonWebDriver._ChromeOptionsForTorch.AddArguments(new string[1] { "--load-extension=" + path });
   }

foreach 完成运行后,我看到选项中列出了我要加载的所有扩展。

但是,当我创建 ChromeDriver 时,它只加载此列表中的一个扩展程序 - 最后一个

我做错了什么?是否可以加载多个扩展?

【问题讨论】:

  • 我喜欢 Stackoverflow 获得的声誉:P 在这里看得如此清楚。欢迎,只要您阅读如何发布问题,我很确定没有人会试图杀死您:P
  • 谢谢!现在我正躲在桌子底下,手里拿着剑。以防万一,你知道的。 :-)

标签: c# selenium selenium-webdriver chromium chrome-options


【解决方案1】:

你可以试试:

ChromeOptions options = new ChromeOptions();

foreach (var path in ExtensionsPaths)
{
    options.AddExtensions(new File(path));
}

【讨论】:

  • 这不是用于打包的 CRX 吗?
  • 这适用于通过 zip 打包的扩展。没有为 CRX 尝试这个。
【解决方案2】:

您提供一个参数字符串,其中包含多个以逗号分隔的扩展路径:

ChromeOptions options = new ChromeOptions();
options.AddArgument(@"load-extension=c:\PathToFirstExtensionHere,c:\PathToSecondExtensionHere");
Driver = new ChromeDriver(options);

【讨论】:

  • 在我的情况下,这不适用于 zip 打包的扩展。但是在循环中使用 ChromeOptions.AddExtensions 可以正常工作。 chromedriver 78.0.3904.10500.
猜你喜欢
  • 2017-08-22
  • 1970-01-01
  • 2015-09-14
  • 2014-11-09
  • 1970-01-01
  • 1970-01-01
  • 2018-05-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多