Puppeteer — стандартная библиотека для управления Chrome без интерфейса. Запускает полноценный браузерный движок, но не показывает окно — всё происходит в памяти. Возможности: генерация скриншотов и PDF страниц, автоматическое заполнение форм, клики и навигация, перехват и модификация сетевых запросов, эмуляция мобильных устройств с заданной геолокацией и разрешением. Отладка через DevTools Protocol. Удобен для SSR (серверного рендеринга), автоматизации тестирования и сбора данных с динамических сайтов. API на Promise — код получается линейным и читаемым. Поддерживает расширения Chrome.
Каталог
Puppeteer
pptr.dev
Puppeteer — Node.js библиотека для управления браузером Chrome/Chromium по протоколу DevTools. Запуск браузера в headless-режиме (без интерфейса). Скрипты для скрапинга, тестирования, генерации скриншотов и PDF. Эмуляция устройств и геолокации. Перехват сетевых запросов и модификация ответов. Бесплатный open-source проект от Google.
Разбор
Что стоит знать — без маркетингового шума, с акцентом на практику и риски.
Главное
Факты
- Puppeteer создан командой Google Chrome DevTools в 2017 году — за 7 лет стал индустриальным стандартом автоматизации Chrome.
- Headless-режим экономит 20–30% ресурсов по сравнению с полноценным браузером — критично для массового скрапинга.
- В 2024 году Google интегрировал Puppeteer в Chrome DevTools для записи действий пользователя и генерации скриптов.
Совет
Используйте page.waitForSelector() перед каждым действием — без ожидания элементов скрипты ломаются на медленных сайтах.
Риск
Headless-режим детектится большинством антибот-систем — для скрапинга защищённых сайтов нужен stealth-плагин.