Валентин!

Безголовый Хром (Headless Chrome) — это полноценный браузер без графического интерфейса. Он работает быстрее и использует меньше памяти, чем обычный браузер. Управляют им программно через АПИ.

Чаще всего безголовые браузеры используют для автоматизации и тестирования сайтов и веб‑приложений, для генерации скриншотов и ПДФ‑документов.

В бюро

Мы используем безголовый Хром через Puppeteer — АПИ для управления Хромом в программах на Яваскрипте. Чаще всего — для скриншотов:

В Издательстве бюро

Раньше превьюшки книжных разворотов генерировал PhantomJS при финальной сборке книги. Это было медленно и ненадёжно: PhantomJS иногда генерировал пустые изображения, падал и не поддерживал видео и современный ЦСС.

Сейчас превьюшки генерирует Хром прямо в процессе создания и редактирования разворотов. Чтобы быстро генерировать превьюшки, мы держим Хром запущенным постоянно, а для генерации превьюшек открываем в нём табы. В среднем на генерацию одной превьюшки уходит 2,2 секунды.

Чтобы надёжно и стабильно генерировать превьюшки, используем отдельную очередь задач. Если превьюшку не получилось сгенерировать за отведённое время или она получилась битой, повторяем задачу.

В Советах

Обложки советов и подборок для соцсетей также генерирует Хром. Чтобы сделать обложку, Хром открывает страницу с шапкой совета и скриншотит её:

Фейсбуку нужна картинка с пропорциями 1,91:1
ВК нужна картинка с пропорциями 2,23:1

Такой подход проще и быстрее, чем программная генерация картинок: если решим поменять дизайн, обновим ЦСС на странице с обложкой.

В Школе бюро

Когда студент заканчивает обучение на подкурсах, мы присылаем ему письмо с сертификатом. Картинку с баллом также генерирует Хром из страницы со свёрстанным фактоидом:

Сверстать фактоид с баллом в письме не получится: почтовые клиенты толком не поддерживают кастомные шрифты

В будущем

Мне бы хотелось использовать Хром для автоматизации вёрстки и мониторинга производительности. Скажем, в Хроме можно было бы автоматически перебирать и оценивать вёрстку разворотов, проверяя её на разных экранах и устройствах.

Ещё по теме

P. S. Это был совет о веб‑разработке. Хотите знать всё о коде, тестах, фронтенд‑разработке, цеэсэсе, яваскрипте, рельсах и джейде? Присылайте вопросы.

Веб‑разработка
Отправить
Поделиться
Запинить

Рекомендуем другие советы