Каталог

Puppeteer

pptr.dev

Puppeteer — Node.js библиотека для управления браузером Chrome/Chromium по протоколу DevTools. Запуск браузера в headless-режиме (без интерфейса). Скрипты для скрапинга, тестирования, генерации скриншотов и PDF. Эмуляция устройств и геолокации. Перехват сетевых запросов и модификация ответов. Бесплатный open-source проект от Google.

Разбор

Что стоит знать — без маркетингового шума, с акцентом на практику и риски.

Главное

Puppeteer — стандартная библиотека для управления Chrome без интерфейса. Запускает полноценный браузерный движок, но не показывает окно — всё происходит в памяти. Возможности: генерация скриншотов и PDF страниц, автоматическое заполнение форм, клики и навигация, перехват и модификация сетевых запросов, эмуляция мобильных устройств с заданной геолокацией и разрешением. Отладка через DevTools Protocol. Удобен для SSR (серверного рендеринга), автоматизации тестирования и сбора данных с динамических сайтов. API на Promise — код получается линейным и читаемым. Поддерживает расширения Chrome.

Факты
  • Puppeteer создан командой Google Chrome DevTools в 2017 году — за 7 лет стал индустриальным стандартом автоматизации Chrome.
  • Headless-режим экономит 20–30% ресурсов по сравнению с полноценным браузером — критично для массового скрапинга.
  • В 2024 году Google интегрировал Puppeteer в Chrome DevTools для записи действий пользователя и генерации скриптов.
Совет

Используйте page.waitForSelector() перед каждым действием — без ожидания элементов скрипты ломаются на медленных сайтах.

Риск

Headless-режим детектится большинством антибот-систем — для скрапинга защищённых сайтов нужен stealth-плагин.