Chrome ヘッドレス モード

Peter Kvitek
Peter Kvitek

Chrome のヘッドレス モードを使用すると、UI を表示せずに無人環境でブラウザを実行できます。つまり、chrome なしで Chrome を実行できます。

ヘッドレス モードを使用する

ヘッドレス モードを使用するには、--headless コマンドライン フラグを Chrome バイナリに渡します。例:

Linux

google-chrome --headless

macOS

open -a "Google Chrome" --args --headless

Windows

start chrome --headless

古いヘッドレス モードを使用する

以前は、ヘッドレス モードは同じ Chrome バイナリの一部としてリリースされた別の代替ブラウザ実装でした。//chrome の Chrome ブラウザのコードは共有されませんでした。

Chrome にヘッドレス モードとヘッドフル モードが統合されました。

ヘッドレス モードは Chrome とコードを共有します。

Chrome 132.0.6793.0 以降、古いヘッドレス モードは、Chrome for Testing ダッシュボードからダウンロードできる chrome-headless-shell という名前のスタンドアロン バイナリとしてのみ利用できます。

Puppeteer の場合

Puppeteer でヘッドレス モードを使用するには:

import puppeteer from 'puppeteer';

const browser = await puppeteer.launch({
  headless: true,  // (default) enables Chrome Headless mode
  // `headless: 'shell'` enables Headless Shell (old headless)
  // `headless: false` enables "headful" mode
});

const page = await browser.newPage();
await page.goto('https://developer.chrome.com/');

// …

await browser.close();

Puppeteer での Headless の使用方法については、ヘッドレス モードをご覧ください。

Selenium-WebDriver の場合

Selenium-WebDriver でヘッドレス モードを使用するには:

const driver = await env
  .builder()
  .setChromeOptions(options.addArguments('--headless'))
  .build();

await driver.get('https://developer.chrome.com/');

// …

await driver.quit();

他の言語バインディングを使用した例など、詳細については、Selenium チームのブログ投稿をご覧ください。

フィードバック

ヘッドレス モードに関するフィードバックをお待ちしております。問題が発生した場合は、バグを報告してください。