Avec le mode headless de Chrome, vous pouvez exécuter le navigateur dans un environnement sans surveillance, sans interface utilisateur visible. En d'autres termes, vous pouvez exécuter Chrome sans Chrome.
Utiliser le mode headless
Pour utiliser le mode headless, transmettez l'indicateur de ligne de commande --headless à un binaire Chrome, par exemple :
Linux
google-chrome --headless
macOS
open -a "Google Chrome" --args --headless
Windows
start chrome --headless
Utiliser l'ancien mode headless
Auparavant, le mode headless était
une implémentation de navigateur alternative distincte, qui était fournie dans le même binaire Chrome. Il ne partageait
aucun code de navigateur Chrome dans
//chrome.
Chrome dispose désormais de modes headless et headful unifiés.
Depuis Chrome 132.0.6793.0, l'ancien mode headless n'est disponible que sous la forme d'un
binaire autonome nommé chrome-headless-shell, qui peut être téléchargé à partir du tableau de bord Chrome for Testing.
Dans Puppeteer
Pour utiliser le mode headless dans 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();
Pour en savoir plus sur l'utilisation du mode headless dans Puppeteer, consultez Mode headless.
Dans Selenium-WebDriver
Pour utiliser le mode headless dans Selenium-WebDriver :
const driver = await env
.builder()
.setChromeOptions(options.addArguments('--headless'))
.build();
await driver.get('https://developer.chrome.com/');
// …
await driver.quit();
Pour en savoir plus, y compris des exemples d'utilisation d'autres liaisons de langage, consultez l'article de blog de l'équipe Selenium.
Commentaires
Nous avons hâte de connaître votre avis sur le mode headless. Si vous rencontrez des problèmes, signalez un bug.