Modo headless do Chrome

Peter Kvitek
Peter Kvitek

Com o modo headless do Chrome, é possível executar o navegador em um ambiente autônomo, sem interface visível. Basicamente, você pode executar o Chrome sem o Chrome.

Usar o modo headless

Para usar o modo headless, transmita a flag de linha de comando --headless para um binário do Chrome, por exemplo:

Linux

google-chrome --headless

macOS

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

Windows

start chrome --headless

Usar o modo headless antigo

Antes, o modo headless era uma implementação de navegador alternativa e separada que era enviada como parte do mesmo binário do Chrome. Ele não compartilhava nenhum código do navegador Chrome em //chrome.

Agora, o Chrome tem modos headless e headful unificados.

O modo headless compartilha código com o Chrome.

Desde o Chrome 132.0.6793.0, o modo headless antigo só está disponível como um binário independente chamado chrome-headless-shell, que pode ser baixado no painel do Chrome for Testing.

No Puppeteer

Para usar o modo headless no 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();

Para mais informações sobre como usar o modo headless no Puppeteer, consulte Modo headless.

No Selenium-WebDriver

Para usar o modo headless no Selenium-WebDriver:

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

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

// …

await driver.quit();

Consulte a postagem do blog da equipe do Selenium para mais informações, incluindo exemplos usando outras vinculações de linguagem.

Feedback

Estamos ansiosos para receber seu feedback sobre o modo headless. Se você encontrar algum problema, informe um bug.