Для PNG публичной страницы из shell-скрипта или задачи CI достаточно инструмента командной строки: openscreenshot, shot-scraper, capture-website-cli или pageres-cli. Если для съёмки нужны вход в аккаунт, клики, проверки или видео, напишите её на Playwright или Puppeteer. Для ИИ-агента локальный MCP-сервер возвращает скриншоты модели: openscreenshot serve делает один скриншот за вызов, а Playwright MCP управляет целым сеансом браузера.
Пакет openscreenshot — наш продукт, и на этой странице сказано, где он слабее других. Она сравнивает возможности и не составляет рейтинг инструментов. Все факты приведены по состоянию на 17 октября 2026 г. и взяты из репозитория, реестра пакетов или официальной документации каждого проекта; ссылки ниже.
Инструменты в кратком обзоре
| Инструмент | Язык / среда выполнения | Вся страница | CLI | MCP | Видео | Лицензия |
|---|---|---|---|---|---|---|
| openscreenshot | Node.js 22.12+, установленный Chrome, Chromium или Edge | --full |
Да | Да, stdio | Нет | MIT |
| shot-scraper | Python 3.10+, браузеры Playwright | По умолчанию | Да | Не указано | Да, WebM или MP4 | Apache-2.0 |
| capture-website-cli | Node.js 20+, Chrome из Puppeteer | --full-page |
Да | Не указано | Нет | MIT |
| pageres-cli | Node.js 20+, Chrome из Puppeteer | По умолчанию | Да | Не указано | Нет | MIT |
| Playwright | Node.js, Python, Java, .NET | fullPage: true |
Запуск тестов, playwright-cli |
Через Playwright MCP | Да | Apache-2.0 |
| Puppeteer | Node.js 22.12+ | fullPage: true |
Не указано | Через chrome-devtools-mcp | Да, MP4 в Chrome | Apache-2.0 |
| Playwright MCP | Node.js через npx или Docker |
Параметр fullPage |
Только сервер | Да, stdio или HTTP | Да, по включению | Apache-2.0 |
«Не указано» означает, что проверенная нами документация самого проекта не описывает эту возможность.
openscreenshot (CLI и MCP-сервер)
openscreenshot управляет уже установленным на вашем компьютере Chrome, Chromium или Edge через puppeteer-core, поэтому не скачивает браузер. Одна команда сохраняет PNG всей страницы:
npx openscreenshot shot https://example.com --out example.png --full
Флаги: --out (файл или - для stdout), --full, --width (от 200 до 3840, по умолчанию 1280), --height (от 200 до 2160, по умолчанию 800) и три флага для скрытия данных: --redact (CSS-селектор), --redact-pattern (email, phone или secret) и --redact-rect (прямоугольник в пикселях). Скрытие рисует чёрные прямоугольники на странице до съёмки. Код выхода 0 означает, что PNG записан, 1 — что съёмка не удалась, 2 — неверное использование. openscreenshot serve запускает MCP-сервер через stdio с одним инструментом, capture_screenshot, который принимает url, fullPage, width, height и redact и возвращает изображение PNG. Настройка описана в руководстве по CLI, руководстве по MCP и руководстве по CI, а справочником служит исходный код.
Где он слабее:
- Каждая съёмка запускает новый браузер с пустым профилем. У него нет cookie, входа, кликов или ожидания селекторов, поэтому страница, требующая входа, показывает экран входа.
- Переход по адресу ждёт
networkidle2до 30 секунд, без дополнительного параметра ожидания. Страницы, которые отрисовываются после затишья сети, могут получиться загруженными наполовину. - Вывод только в PNG, без PDF и видео.
- MCP-сервер работает только локально через stdio, без размещённого URL и транспорта HTTP. Инструмент возвращает изображение и не записывает файл.
- Браузер запускается с
--no-sandbox, чтобы работать в контейнерах. Снимайте только URL, которым доверяете. - В Windows Edge и Chrome, установленный для одного пользователя, не определяются; задайте
CHROME_PATH.
Для страниц с выполненным входом, аннотаций или ручного экспорта в PDF используйте расширение для браузера.
shot-scraper
shot-scraper — инструмент на Python на основе Playwright. Установите его, скачайте его браузер и сделайте скриншот, согласно его документации по скриншотам:
pip install shot-scraper
shot-scraper install
shot-scraper https://example.com -o example.png
Если не указать --height, скриншот снимает всю страницу. --selector снимает один элемент, shot-scraper pdf сохраняет PDF, а multi выполняет список снимков из YAML. Команда video, добавленная в 1.10, записывает WebM по раскадровке YAML, а --mp4 преобразует его с помощью ffmpeg. Браузер по умолчанию — Chromium, Firefox и WebKit можно установить. Выбирайте его, если ваша команда работает на Python или вам нужны скриншоты, PDF и демо-видео по сценарию из одного инструмента.
capture-website-cli
capture-website-cli — инструмент на Node.js от Sindre Sorhus, который снимает страницы с помощью Puppeteer. По умолчанию снимается окно; --full-page снимает всю прокручиваемую страницу:
npm install --global capture-website-cli
capture-website https://example.com --output=screenshot.png --full-page
Без --output он выводит изображение в stdout. Он выводит PNG, JPEG или WebP. Флаги вроде --element, --hide-elements, --remove-elements, --click-element, --dark-mode, --style и --script подготавливают страницу перед съёмкой, чего openscreenshot не умеет. Выбирайте его, когда перед съёмкой нужно скрыть баннеры cookie или подставить CSS.
pageres-cli
pageres-cli снимает несколько URL в нескольких разрешениях за один запуск:
pageres https://example.com 1366x768 1600x900
Он снимает каждую пару URL и разрешения, по умолчанию всю страницу; --crop ограничивает каждое изображение заданной высотой. Вывод — PNG или JPEG, размер по умолчанию — 1366x768. Ключевые слова устройств вроде iphone5s больше не поддерживаются. Активность низкая: последний релиз, v9.0.0 от 9 сентября 2025 г., поднял требование к Node.js до 20 и добавил три флага. Выбирайте его для быстрой проверки адаптивности на нескольких ширинах.
Playwright
Playwright — фреймворк Microsoft для автоматизации и тестирования в Chromium, Firefox и WebKit, с привязками для Node.js, Python, Java и .NET. Скриншот всей страницы — один параметр page.screenshot:
await page.screenshot({ path: 'page.png', fullPage: true });
page.pdf() создаёт PDF со стилями для печати. Запись видео — параметр контекста, и средство запуска тестов может сохранять видео только для упавших тестов. Playwright CLI (@playwright/cli) — отдельный инструмент командной строки для автоматизации браузера из ИИ-агентов для программирования. Выбирайте Playwright, когда скриншот — один шаг теста, который входит в аккаунт, кликает и проверяет результат.
Puppeteer
Puppeteer — библиотека Google для Node.js для Chrome и Firefox. npm i puppeteer скачивает Chrome for Testing, когда выполняется его скрипт установки. Менеджерам пакетов, которые блокируют скрипты установки, нужна команда npx puppeteer browsers install. Параметры скриншота имеют ту же форму:
await page.screenshot({ path: 'page.png', fullPage: true });
page.pdf() создаёт PDF со стилями для печати. page.record(), добавленный в puppeteer-core 25.10.0, записывает MP4 в Chrome. Firefox работает через WebDriver BiDi, где некоторые функции не поддерживаются. Для агентов README Puppeteer указывает на chrome-devtools-mcp, MCP-сервер на основе Puppeteer. openscreenshot — тонкая обёртка над puppeteer-core, поэтому используйте Puppeteer напрямую, когда вам нужно больше его параметров съёмки.
Playwright MCP
Playwright MCP позволяет агенту управлять браузером через снимки дерева доступности, поэтому ему не нужна модель зрения. Его README приводит такую стандартную настройку:
{
"mcpServers": {
"playwright": {
"command": "npx",
"args": ["@playwright/mcp@latest"]
}
}
}
Инструмент browser_take_screenshot принимает параметр fullPage и возвращает PNG, JPEG или WebP. Инструменты PDF и видео включаются через --caps. По умолчанию браузер запускается с интерфейсом и хранит постоянный профиль, поэтому вход в аккаунт может сохраняться; --isolated, --storage-state и --extension (для подключения к запущенному Chrome или Edge) это меняют. --port обслуживает HTTP вместо stdio. Это всё ещё релиз 0.0.x (v0.0.83). Выбирайте его вместо openscreenshot serve, когда агент должен входить в аккаунт, кликать или заполнять формы.
Что выбрать
- PNG публичной страницы в скрипте или артефакте CI: openscreenshot, shot-scraper или capture-website-cli.
- Одна страница на нескольких ширинах: pageres-cli.
- Сначала скрыть элементы или подставить CSS: capture-website-cli или shot-scraper.
- PDF или демо-видео по сценарию из командной строки: shot-scraper.
- Вход, клики и проверки в наборе тестов: Playwright или Puppeteer.
- Агент, которому нужно только посмотреть на страницу:
openscreenshot serve. - Агент, который должен взаимодействовать со страницей или входить в аккаунт: Playwright MCP.
- Человек, который снимает и размечает страницы с выполненным входом: расширение; см. сравнение расширений для скриншотов всей страницы.