OpenScreenShot CLI снимает веб-страницу в PNG с помощью локально установленного браузера, совместимого с Chrome. Это отдельный пакет, не связанный с расширением для браузера. Если установлены Node.js, pnpm и Chrome, выполните:
pnpm dlx openscreenshot shot https://example.com --out screenshot.png --full
Команда запускает отдельный браузер без интерфейса, переходит по URL, записывает изображение и закрывает браузер. Она не подключается к вкладкам или профилю с выполненным входом в вашем обычном браузере.
Задавайте размер окна явно
Для снимка окна не указывайте --full. Ширина по умолчанию — 1280 пикселей, высота — 800 пикселей. Задайте оба значения, если макету нужен определённый размер:
pnpm dlx openscreenshot shot https://example.com --out desktop.png --width 1440 --height 900
pnpm dlx openscreenshot shot https://example.com --out narrow.png --width 390 --height 844
Ширина принимает целые числа от 200 до 3840, высота — от 200 до 2160. Узкое окно проверяет адаптивный макет на этой ширине. Оно не эмулирует сенсорный ввод телефона, плотность пикселей устройства или мобильный браузер: CLI использует десктопный user agent.
Добавьте --full, чтобы снять содержимое за пределами окна. Снимок всей страницы в браузере без интерфейса отличается от реализации расширения с прокруткой и склейкой; не рассчитывайте, что каждая динамическая страница будет выглядеть одинаково в обоих случаях.
Сохраните файл или выведите в stdout
Без --out команда записывает screenshot.png в текущую папку. Указывайте имя файла явно, чтобы артефакты было легко узнать. Создайте родительскую папку для вывода до запуска команды.
--out - выводит байты PNG в stdout:
pnpm dlx openscreenshot shot https://example.com --out - > screenshot.png
Используйте перенаправление, безопасное для двоичных данных. CLI всегда создаёт PNG; если назвать вывод capture.jpg или capture.pdf, он не будет преобразован. Для изображений с аннотациями или вывода в PDF используйте редактор расширения.
Скройте данные перед сохранением
Три флага закрывают данные чёрными прямоугольниками на странице до съёмки, поэтому нескрытые пиксели никогда не попадают в PNG. Чтобы указать больше целей, повторите флаг:
pnpm dlx openscreenshot shot https://example.com --out safe.png \
--redact "#account-menu" --redact-pattern email,secret --redact-rect 0,0,200,40
--redact закрывает каждый элемент, который соответствует CSS-селектору, вместе со всеми его потомками. --redact-pattern закрывает текст и значения полей форм, которые соответствуют email, phone (от 9 до 15 цифр) или secret (типичные форматы ключей API и токенов, а также длинные хеши). --redact-rect x,y,w,h закрывает прямоугольник в пикселях итогового изображения; используйте его для canvas, изображений и iframe с другого источника.
Съёмка завершается с кодом выхода 1 и не записывает файл, если селектор ничего не находит, прямоугольник выходит за пределы изображения или страница сдвигает цель во время съёмки. Шаблоны могут пропустить текст, разбитый на несколько элементов или нарисованный на изображении, поэтому проверьте PNG, прежде чем им делиться.
Решение частых проблем
Если Chrome не найден, установите его или задайте в CHROME_PATH путь к исполняемому файлу браузера. Например, в системе Linux, где Chromium установлен по этому пути:
CHROME_PATH=/usr/bin/chromium pnpm dlx openscreenshot shot https://example.com --out screenshot.png
Переход по адресу ждёт networkidle2 с таймаутом 30 секунд. У текущей команды нет параметров для своего ожидания, ожидания селектора, cookie или входа в аккаунт. Успешная съёмка также не доказывает, что приложение загрузилось правильно: проверьте PNG на страницы ошибок, состояния загрузки и отсутствующие ресурсы.
Код выхода 0 означает, что команда съёмки завершилась, 1 — ошибку съёмки, 2 — неверное использование или ошибку проверки аргументов. Используйте эти коды при объединении команд в цепочку, а затем проверьте само изображение.
Для воспроизводимых артефактов прочитайте руководство по съёмке в CI. Для процесса с агентом см. руководство по настройке MCP. Справочник по доступным флагам — исходный код CLI.