Chrome 无头模式

Mathias Bynens
Mathias Bynens
Peter Kvitek
Peter Kvitek

借助 Chrome 无头模式,您可以在无人值守的环境中运行浏览器,而无需任何可见的界面。实际上,您可以在没有 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 起,旧版无头模式仅作为 a 独立二进制文件提供,该文件可从 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 中使用无头模式,请参阅 无头模式

在 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 团队的博文

反馈

我们期待您就无头模式提供反馈。如果您 遇到任何问题,请提交 bug