Ранее в этом году мы объявили о доступности нового режима Chrome Headless ( --headless=new
) в Chrome 112. Этот режим позволяет разработчикам запускать Chrome в автоматической среде без какого-либо видимого пользовательского интерфейса, что полезно для тестирования и сценариев использования автоматизации.
В рамках этого объявления мы упомянули о наших планах удалить старый режим Headless из двоичного файла Chrome. Это удаление имеет смысл, поскольку старый Headless технически является отдельным браузером, а это означает, что в настоящее время мы поставляем два двоичных файла браузера в одном. В то же время мы признаем, что существуют разные варианты использования старого и нового режимов Headless:
- Старый режим Headless представляет собой облегченную оболочку модуля
//content
Chromium и, следовательно, имеет значительно меньше зависимостей. В частности, он не требует X11/Wayland, D-Bus и в некотором смысле более эффективен, чем полноценный браузер Chrome. Это делает его подходящим для таких случаев использования, как автоматическое создание снимков экрана или очистка веб-страниц. - С другой стороны, новый Headless — это настоящий браузер Chrome, поэтому он более аутентичен, надежен и предлагает больше возможностей. Это делает его более подходящим для высокоточного сквозного тестирования веб-приложений или тестирования расширений браузера.
Другими словами, существует компромисс между производительностью и аутентичностью. Какой безголовый режим вам больше всего подходит? Это зависит от вашего варианта использования.
Разработчики и тестировщики, которым не требуется полная функциональность Chrome для задач автоматизации, могут захотеть использовать старую версию Headless. В противном случае новый Headless, вероятно, будет лучшим выбором.
Чтобы у разработчиков и тестировщиков по-прежнему был выбор между этими двумя вариантами, мы рады сообщить, что старая реализация Headless теперь доступна в виде автономного двоичного файла chrome-headless-shell
. Эти новые двоичные файлы chrome-headless-shell
создаются для каждой пользовательской версии Chrome и доступны для загрузки через инфраструктуру Chrome для тестирования, начиная с Chrome 120.
Как я могу получить двоичные файлы chrome-headless-shell
?
Как и в случае с другими двоичными файлами Chrome для тестирования, самый простой способ загрузить chrome-headless-shell
для вашей платформы — использовать нашу утилиту командной строки @puppeteer/browsers
, доступную с помощью npm
. Вот несколько примеров:
# Download the latest available `chrome-headless-shell` binary corresponding to the Stable channel.
npx @puppeteer/browsers install chrome-headless-shell@stable
# Download a specific `chrome-headless-shell` version.
npx @puppeteer/browsers install chrome-headless-shell@120.0.6098.0
Если вы предпочитаете создавать свои собственные автоматизированные сценарии для загрузки двоичных файлов chrome-headless-shell
, мы вам поможем. Chrome для тестирования предлагает конечные точки API JSON с последними доступными версиями для каждого канала выпуска Chrome (стабильная, бета-версия, версия для разработчиков и Canary). Чтобы получить краткий обзор последнего статуса, обратитесь к информационной панели доступности Chrome для тестирования .
Обратная связь
Мы с нетерпением ждем ваших отзывов о chrome-headless-shell
. Если у вас возникнут какие-либо проблемы, сообщите о них .