Есть ли способ добавить chrome-расширение в веб-драйвер PuppeteerSharp? - PullRequest
0 голосов
/ 03 сентября 2018

Как я могу загрузить расширение Chrome для драйвера PuppeteerSharp, аналогично варианту Selenium:

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

Ответы [ 2 ]

0 голосов
/ 07 февраля 2019

Согласно этому issie , следующий фрагмент кода работает для меня:

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

Иногда он не может загрузить некоторые расширения, когда они упакованы (файлы * .crx или * .zip). Тогда распаковка этого расширения может помочь.

0 голосов
/ 03 сентября 2018

На основе строки 43 файла LanchOptions.cs вы можете указать аргументы процесса запуска.

Теперь, соединяя это с нативным JavaScript (используя - флаг расширения загрузки ), результат должен выглядеть примерно так:

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

Примечание: я указываю путь к папке, а не .zip, как у вас в примере ... если вы хотите загрузить несколько расширений, просто разделите пути, используя запятую.

Вот полный список возможных аргументов, которые можно передать Chromium.

...