
Puppeteer — настройка прокси
Об инструменте
Puppeteer — библиотека JavaScript/TypeScript с открытым исходным кодом, предоставляющая высокоуровневый API для управления Chrome и Firefox по протоколам DevTools (CDP) и WebDriver BiDi. Puppeteer предоставляет JavaScript API для управления Chrome и Firefox через протоколы автоматизации. Он работает без видимого окна и подходит для повторяемых взаимодействий, рендеринга и тестов. Прокси задаётся для браузерного процесса скрипта.
Основные возможности
Рендеринг в реальном браузере и безголовый режим: по умолчанию работает в режиме headless, выполняет клиентский JavaScript, взаимодействует с формами, перехватывает сетевые запросы, создает скриншоты, PDF-файлы и профили производительности.
- Управление браузером из JavaScript:Puppeteer управляет Chrome и Firefox через API навигации, кликов, заполнения форм и выполнения сценариев. Работа без видимого окна, снимки и PDF подходят для тестов, рендеринга и отчетов о страницах.
- Работа без видимого окна:Код управляет процессами браузера и страницами, контексты разделяют задачи. В отличие от HTTP-клиента библиотека исполняет JavaScript страницы и взаимодействует с отрисованным сайтом, поэтому требует управления ресурсами и ожиданиями.
Сценарии применения
Для регулярных снимков задайте навигацию, готовность содержимого, вывод и обработку ошибок. Прокси и авторизацию настраивайте для запускаемого браузера: изменение подключения процесса Node.js не обязательно охватывает браузерный трафик.
- Сбор данных с динамических SPA и тестирование интерфейса: подходит для парсинга сайтов со сложным JavaScript, автоматической генерации отчетов и сквозного тестирования веб-приложений.
- Прокси задается при запуске браузера через аргумент `--proxy-server` в `puppeteer.launch()`, а авторизация передается через `page.authenticate()`; для высокоскоростного сбора открытых данных рекомендуются прокси дата-центров.