Puppeteer Sharp: несколько браузеров одновременно - PullRequest
0 голосов
/ 05 августа 2020

Прямо сейчас я использую puppeteer (NodeJS библиотека) для преобразования HTML в документы PDF. Пока это «работает», я портирую на Puppeteer-Sharp (C# библиотека).

У меня все работает, но меня несколько беспокоит одновременное использование нескольких браузеров.

Скажем, я запускаю один и тот же код в двух отдельных процессах на одном компьютере :

// Magic function. Downloads Chrome to a specific directory for the process.
var browser = GetBrowser();
var page = await browser.NewPageAsync();
await page.GoToAsync("http://www.google.com");
var pdf = await page.PdfAsync();

Мой вопрос:

Есть ли потенциальная проблема параллелизма здесь?

Мое (ограниченное) понимание состоит в том, что библиотека выдает инструкции Chrome с использованием веб-сокетов, и я не уверен, что существует вероятность того, что браузеры «столкнутся» друг с другом.

По сути, я спрашиваю, есть ли вероятность того, что байты PDF, полученные (через await page.PdfAsync();), будут из «другого» браузера.

Если это вас утешает, браузеры загружаются и запускается из определенных c каталогов для каждого процесса, поэтому технически это не один и тот же экземпляр Chrome, запускаемый дважды (но на самом деле это так).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...