Совсем недавно вышла новая версия Google Chrome, в которой появилась полезная функция под названием Headless Chrome. Этот режим предназначен для автоматизации работы с браузером. Вы можете захватывать скриншоты любых веб-страниц через командную строку или программные языки, не открывая графический интерфейс Chrome. Также он позволяет печатать DOM-структуру веб-страницы и создавать PDF-документы. В данном руководстве вы узнаете, как применять возможности Google Chrome Headless в командной строке Linux.
- Установка или обновление Google Chrome на Ubuntu и LinuxMint
- Как установить Google Chrome на CentOS/RHEL и Fedora
- Запуск безголового режима
- Создание PDF-документа
Для установки Google Chrome на Ubuntu и LinuxMint выполните следующие команды:
wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
sudo apt install ./google-chrome-stable_current_amd64.deb
После установки обновите Chrome до последней версии:
sudo apt update
sudo apt upgrade
Для установки Google Chrome на CentOS/RHEL и Fedora используйте следующую команду:
sudo dnf install https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm
После завершения установки вы сможете запускать Chrome из командной строки.
Чтобы запустить Chrome в безголовом режиме, используйте следующую команду:
google-chrome --headless --disable-gpu --screenshot https://example.com
Эта команда создаст скриншот указанного сайта и сохранит его в текущей директории.
Для генерации PDF-документа выполните следующую команду:
google-chrome --headless --disable-gpu --print-to-pdf https://example.com
Файл будет сохранён в формате PDF в текущей директории.
Содержание статьи
Запуск безголового Chrome
Запустите системную консоль и выполните команду для открытия Google Chrome в безголовом режиме с использованием параметра —headless.
$ google-chrome --headless http://www.example.com
Безголовый режим также поддерживает удаленную отладку, что позволяет наблюдать за происходящим. Вы можете подключиться к системе через указанный порт в любом другом браузере и просмотреть отображаемую информацию. Начните отладку, используя следующую команду на заданном порту:
$ google-chrome --headless --remote-debugging-port=9222 https://google.com
Теперь откройте http://localhost:9222 в другом браузере.

Безголовая версия Chrome предлагает множество полезных функций, включая печать DOM, создание скриншотов и генерацию PDF-файлов для любых веб-страниц через командную строку.
Кроме того, безголовый режим позволяет проводить автоматизацию тестирования с помощью инструментов, таких как Selenium или Puppeteer. Вы можете легко управлять страницами, выполнять клики, заполнять формы и делать множество других операций программно.
Обратите внимание, что для запуска безголового Chrome необходимо установить последнюю версию браузера и убедиться, что все зависимости, такие как библиотеки для рендеринга, установлены на вашем сервере.
Если вам нужно больше информации о доступных параметрах командной строки, вы можете использовать команду $ google-chrome --help, чтобы получить полный список доступных опций.
Сохранить скриншот страницы
Для создания скриншота веб-страницы с помощью Chrome в безголовом режиме, выполните следующую команду в терминале:
$ google-chrome --headless --disable-gpu --screenshot http://www.example.com/
Эта команда откроет указанную страницу и сохранит её изображение в текущем каталоге с именем ‘screenshot.png’. Вы можете указать путь к файлу для сохранения, добавив его после опции --screenshot. Например:
$ google-chrome --headless --disable-gpu --screenshot=/path/to/your/screenshot.png http://www.example.com/
Также можно использовать дополнительные параметры для настройки размера экрана:
--window-size=1280,800
Это позволит вам получить скриншот в нужном разрешении.
Кроме того, вы можете использовать опцию --no-sandbox, если возникает проблема с запуском в некоторых окружениях:
--no-sandbox
Для улучшения качества скриншота вы также можете использовать флаг --virtual-time-budget=10000, который увеличивает время рендеринга страницы:
--virtual-time-budget=10000
Не забудьте установить Chrome на вашем сервере или локальной машине. Если вы работаете на сервере, который не имеет графического интерфейса, вы можете использовать --headless для запуска браузера без GUI.
Создать PDF-документ веб-страницы
Чтобы создать PDF-документ из веб-страницы, можно воспользоваться командной строкой Google Chrome в режиме без графического интерфейса. Эта команда позволяет быстро и эффективно сохранить содержимое веб-страницы в виде PDF-файла. Ниже приведены несколько дополнительных советов:
Убедитесь, что у вас установлена последняя версия Google Chrome.
Для использования команды, откройте терминал или командную строку.
Вы можете указать дополнительные параметры, такие как размер страницы или ориентацию, используя флаги командной строки. Например:
$ google-chrome --headless --disable-gpu --print-to-pdf --page-size A4 --landscape http://www.example.com/
PDF-файл будет сохранен в текущей директории, если не указать путь.
Также можно добавить опцию --print-to-pdf=путь/к/файлу.pdf, чтобы указать конкретное имя и местоположение PDF-файла.
Если вы хотите сохранить несколько страниц, рассмотрите возможность использования параметра --print-to-pdf с циклом обработки списка URL-адресов.
Убедитесь, что все необходимые шрифты и изображения загружены на странице, чтобы PDF выглядел так же, как в браузере.
Для создания PDF из локальных файлов HTML, укажите путь к файлу вместо URL. Например:
$ google-chrome --headless --print-to-pdf file:///путь/к/файлу.html
Обратите внимание на поддержку CSS и JavaScript: некоторые сложные элементы могут отображаться некорректно. Проверьте PDF после создания.
Для более продвинутых вариантов, таких как настройка колонтитулов или номер страниц, вам может потребоваться использовать сторонние библиотеки или инструменты, такие как Puppeteer.
Распечатать DOM страницы
Можно воспользоваться флагом —dump-dom для вывода document.body.innerHTML в стандартный вывод. Данный флаг выводит содержимое document.body.innerHTML в stdout:
$ google-chrome --headless --disable-gpu --dump-dom http://www.example.com/
Для использования этого метода необходимо установить Google Chrome на вашем компьютере. Запуск браузера в безголовом режиме позволяет выполнять автоматизированные задачи, такие как тестирование и сбор данных, без графического интерфейса.
Помимо —dump-dom, вы можете использовать другие флаги, например, —headless для работы без интерфейса и —disable-gpu для отключения аппаратного ускорения. Эти параметры помогут улучшить производительность и совместимость при работе на серверах или в средах без графического интерфейса.
Также, если вам нужно извлечь информацию не только из body, вы можете использовать инструменты для парсинга HTML, такие как Puppeteer или Cheerio, чтобы манипулировать и анализировать DOM-структуру.
Ссылка: пройдите по следующей ссылке для получения дополнительных сведений о безголовом Chrome.
Преимущества использования безголового режима в тестировании
Тестирование веб-приложений с применением технологии, позволяющей обходиться без графического интерфейса, становится все более популярным среди разработчиков. Такой подход открывает новые горизонты для автоматизации процессов, позволяя сосредоточиться на ключевых аспектах производительности и функциональности приложения.
Эффективность – один из основных факторов, способствующих популярности данного метода. Отказ от визуального представления позволяет значительно ускорить выполнение тестов, так как система не тратит ресурсы на рендеринг интерфейса. Это особенно актуально для масштабируемых проектов, где важно быстро получать результаты.
Кроме того, отсутствие графического интерфейса способствует более стабильному выполнению тестов. Минимизация зависимостей от пользовательского интерфейса позволяет избежать множества ошибок, связанных с изменениями в дизайне или функционале, тем самым повышая надежность тестирования.
Еще одним важным аспектом является простота интеграции. Такой режим легко встраивается в существующие системы непрерывной интеграции и доставки, что позволяет автоматизировать процессы и уменьшить время на развертывание. Это обеспечивает более быструю обратную связь для разработчиков, что критично в условиях динамичной разработки.
Таким образом, использование рассматриваемой технологии приносит значительные преимущества, позволяя разработчикам сосредоточиться на качестве и эффективности тестирования, а также снижая вероятность возникновения ошибок и ускоряя процесс разработки.
Примеры практического применения безголовых функций Chrome
В последние годы наблюдается рост интереса к автоматизации и оптимизации различных процессов, что открывает новые горизонты для разработчиков. Применение браузеров в безголовом режиме позволяет значительно ускорить выполнение задач, связанных с веб-технологиями, и сделать их более эффективными.
Тестирование веб-приложений является одним из самых распространенных сценариев. Автоматические тесты позволяют обнаруживать ошибки на ранних стадиях разработки, что уменьшает время на их исправление. Безвизуальная среда запуска обеспечивает более быстрое выполнение тестов, так как отсутствует необходимость в отрисовке графического интерфейса.
Скрейпинг данных – еще одна важная область, где такие возможности находят свое применение. Автоматизированные скрипты могут собирать информацию с веб-страниц без взаимодействия с пользователем, что позволяет эффективно обрабатывать большие объемы данных и извлекать необходимую информацию.
Создание скриншотов веб-страниц также стало более доступным благодаря подобным инструментам. Автоматизированные системы могут генерировать изображения страниц в заданные моменты времени, что полезно для мониторинга изменений или создания документации.
Оптимизация работы с API также возможна при помощи таких технологий. Веб-приложения могут быстро взаимодействовать с различными API, выполняя запросы и обрабатывая ответы без лишних задержек, что делает процессы более эффективными и менее затратными по времени.

