有没有办法将chrome扩展名添加到PuppeteerSharp Web驱动程序?

时间:2018-09-03 13:48:13

标签: c# puppeteer-sharp

如何将Chrome扩展程序加载到PuppeteerSharp的驱动程序中, 类似于Selenium的选项:

ChromeOptions options = new ChromeOptions();
options.AddExtension(@"C:\a\path\to\file.zip");

2 个答案:

答案 0 :(得分:2)

基于Line 43 of the LanchOptions.cs,您可以指定启动过程的参数。

现在将其与本机JavaScript连接(使用--load-extension flag),输出应类似于以下内容:

var browser = await Puppeteer.LaunchAsync(new LaunchOptions
{
    Args = new string[1] { "--load-extension=/Path/To/Extension/Folder" }
});

注意:我将路径放置到文件夹中,而不是示例中的.zip。如果要加载多个扩展名,则只需使用逗号分隔路径。

Here's a full list of possible arguments that can be passed in to Chromium.

答案 1 :(得分:0)

根据此issie,下一段代码对我有用:

var browser = await Puppeteer.LaunchAsync(new LaunchOptions
{
    Args = new string[1] 
    {
       "--disable-extensions-except=${pathToExtension}",
       "--load-extension=${pathToExtension}"
    }
});

有时,打包时某些扩展名(* .crx或* .zip文件)无法加载。然后,解压缩此扩展程序会有所帮助。