ヘッドレスブラウザ (Headless browser) はグラフィカルユーザインタフェース(GUI)を持たないウェブブラウザを指す。

概要 ヘッドレスブラウザは通常のウェブブラウザと同様の環境で自動制御機能を提供するものの、コマンドラインまたはネットワーク通信を通じて実行される点が異なっている。また、テキストブラウザとは異なる。ヘッドレスブラウザは通常のブラウザと同様にHTMLを解釈し描画することができるため、ウェブページのテストには特に有用である。

Chromeのバージョン59以降、Firefoxのバージョン56以降ではブラウザのリモートコントロールがネイティブサポートされるようになった。これによりPhantom JSのような以前の試みは廃れて使われなくなっている。

利用例 モダンなWebアプリケーションにおけるテスト自動化。 Webページのスクリーンショット取得。 JavaScriptライブラリの自動テストの実行。 Webページの操作の自動化。

その他の利用例

ヘッドレスブラウザはウェブスクレイピングにも用いることができる。

利用法 ヘッドレスブラウザは以下のライブラリなどで利用できる。

主要なブラウザはAPIを通してヘッドレスでの起動をネイティブにサポートしており、統一されたインタフェースによってブラウザ自動化を行うことができるライブラリもある。 Selenium WebDriver - WebDriverのW3C準拠の実装の1つ。 Playwright - Chromium、Firefox、Webkitの自動化のためのNode.jsのライブラリ。 Puppeteer - Chromeの自動化のためのNode.jsのライブラリ。

出典