古いヘッドレス Chrome を chrome-headless-shell としてダウンロードします

今年、Chrome 112 で Chrome の新しいヘッドレス モード(--headless=newが利用可能になったことをお知らせしました。このモードでは、デベロッパーは UI が表示されない無人環境で Chrome を実行できます。テストや自動化のユースケースに役立ちます。

この発表の一環として、Chrome バイナリから古いヘッドレス モードを削除する計画について言及しました。古いヘッドレス ブラウザは厳密には別のブラウザであり、現在 2 つのブラウザ バイナリを 1 つに同梱しているため、今回の削除は理にかなっています。また、新旧のヘッドレス モードには以下のような異なるユースケースがあることも認識しています。

  1. 古いヘッドレス モードは、Chromium の //content モジュールの軽量ラッパーであるため、依存関係が大幅に少なくなります。具体的には、X11/Wayland、D-Bus を必要とせず、いくつかの点で本格的な Chrome ブラウザよりもパフォーマンスが高くなっています。そのため、自動スクリーンショット作成やウェブ スクレイピングなどのユースケースに適しています。
  2. 一方、新しいヘッドレスは本物の Chrome ブラウザであるため、信頼性と信頼性が高く、より多くの機能を提供します。そのため、高精度のエンドツーエンドのウェブアプリ テストやブラウザの拡張機能テストに適しています。

つまり、パフォーマンスと真正性はトレードオフの関係にあります。あなたに最適なヘッドレス モードはどれですか?それはユースケースによって異なります。

上のリストに記載されている情報を表す図。

自動化のユースケースで Chrome の全機能を必要としないデベロッパーやテスターは、古いヘッドレスを使用することをおすすめします。それ以外の場合は、新しいヘッドレス カメラをおすすめします。

デベロッパーとテスターが引き続きこれら 2 つのオプションを選択できるよう、古いヘッドレス実装がスタンドアロンの chrome-headless-shell バイナリとして利用可能になりました。これらの新しい chrome-headless-shell バイナリは、ユーザー向けの Chrome リリースごとに生成され、Chrome 120 以降、Chrome for Testing インフラストラクチャを介してダウンロードできます。

chrome-headless-shell バイナリを取得するにはどうすればよいですか?

他の Chrome for Testing バイナリと同様に、ご使用のプラットフォーム用の chrome-headless-shell をダウンロードする最も簡単な方法は、npm を使用して入手できる @puppeteer/browsers コマンドライン ユーティリティを使用することです。以下に例を挙げます。

# 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 バイナリをダウンロードする独自の自動スクリプトを構築する場合は、Google がサポートします。Chrome for Testing では、Chrome リリース チャンネル(Stable、Beta、Dev、Canary)ごとに利用可能な最新バージョンを含む JSON API エンドポイントを提供しています。最新のステータスの概要については、Chrome for Testing の提供状況ダッシュボードをご覧ください。

フィードバック

chrome-headless-shell」に関する皆様からのフィードバックをお待ちしております。問題が発生した場合は、ご報告ください