Один браузер Puppeteer может держать отдельные прокси-контексты
Используйте BrowserContextOptions.proxyServer в Puppeteer25.16.0, когда группам страниц нужны разные маршруты прокси в одном браузере Chromium.
Puppeteer 25.16.0 добавляет параметр proxyServer при создании контекста браузера. В уже запущенном Chromium страницы нового контекста могут использовать выбранный посредник, в том числе публичного HTTP-кандидата из списка HTTP-прокси:
const context = await browser.createBrowserContext({
proxyServer: 'http://proxy.example:8080',
});
try {
const page = await context.newPage();
await page.goto('https://www.example.com/');
} finally {
await context.close();
}Создайте ещё один контекст с другим proxyServer для второго маршрута. Две страницы, созданные в одном контексте, делят прокси-политику этого контекста; одно лишь открытие новой вкладки не выбирает новую конечную точку.
Параметр называется proxyServer. Старые примеры с createIncognitoBrowserContext относятся к прошлому поколению API.
BrowserContextOptions также принимает proxyBypassList. Храните прямые исключения в политике этого контекста, а не предполагайте, что они пришли из другого контекста.
Для поддерживаемого HTTP-прокси с логином и паролем Page.authenticate передаёт учётные данные перед навигацией. URL прокси выбирает посредника, а вызов аутентификации передаёт учётную запись.
Это сеть браузера. Пакет, который перехватывает запрос страницы и выполняет его ответом клиента Node HTTP, создаёт другой транспортный путь с собственным поведением cookie, заголовков и TLS.
Вызывающий по-прежнему отвечает за время жизни общего браузера. Закрытие одного контекста закрывает связанные с ним страницы, не завершая остальные контексты.