Есть ли способ добавить chrome-расширение в веб-драйвер PuppeteerSharp?
Как я могу загрузить расширение Chrome для драйвера PuppeteerSharp, аналогично опции Selenium:
ChromeOptions options = new ChromeOptions();
options.AddExtension(@"C:\a\path\to\file.zip");
1 ответ
На основе строки 43 файла LanchOptions.cs вы можете указать аргументы процесса запуска.
Теперь, соединяя это с собственным JavaScript (используя флаг --load-extension), результат должен выглядеть примерно так:
var browser = await Puppeteer.LaunchAsync(new LaunchOptions
{
Args = new string[1] { "--load-extension=/Path/To/Extension/Folder" }
});
Обратите внимание: я поставил путь к папке, а не.zip, как у вас в образце. Если вы хотите загрузить несколько расширений, просто разделите пути, используя запятую.
Вот полный список возможных аргументов, которые можно передать в Chromium.
В соответствии с этим вопросом у меня работает следующий фрагмент кода:
var browser = await Puppeteer.LaunchAsync(new LaunchOptions
{
Args = new string[1]
{
"--disable-extensions-except=${pathToExtension}",
"--load-extension=${pathToExtension}"
}
});
Иногда он не может загрузить некоторые расширения, когда они упакованы (файлы *.crx или *.zip). Тогда распаковка этого расширения может помочь.