> ## Documentation Index
> Fetch the complete documentation index at: https://gologin.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Mode headless

Un navigateur headless est un navigateur web sans interface graphique (GUI). Il s'exécute en arrière-plan et se pilote par programmation, via du code ou des interfaces en ligne de commande. Un navigateur headless peut effectuer toutes les opérations standard d'un navigateur, comme afficher des pages web, exécuter du JavaScript et gérer les cookies, mais sans afficher aucun élément visuel.

## Cas d'usage courants

* Scraping web et extraction de données
* Tests automatisés d'applications web
* Captures d'écran ou génération de PDF de pages web
* Surveillance et tests de performance
* Automatisation de tâches web répétitives

## Avantages

* Consommation de ressources réduite (aucun rendu graphique nécessaire)
* Exécution plus rapide qu'avec une instance de navigateur complète
* Idéal pour les environnements serveur sans affichage
* Parfait pour les pipelines CI/CD et les workflows automatisés

Les navigateurs headless sont couramment utilisés dans les outils pour développeurs, les frameworks de test et les services d'automatisation pour interagir avec du contenu web par programmation.

# Exemple en mode headless

**Vérifier le statut de fiabilité**

```js Node.js theme={null}
// SDK will prepare the browser and will start it on your machine then you can control it with puppeteer
import { GologinApi } from 'gologin';

const token = process.env.GL_API_TOKEN || 'your dev token here';
const gologin = GologinApi({
  token,
});

async function main() {
  const { browser } = await gologin.launch({
    extra_params: ['--headless'],
    // pass profileId parameter if you want to run particular profile
    // profileId: 'your profileId here',
  });

  const page = await browser.newPage();

  await page.goto('https://iphey.com/', { waitUntil: 'networkidle2' });
  const status = await page.$eval('.trustworthy:not(.hide)',
    (elt) => elt?.innerText?.trim(),
  );

  await new Promise((resolve) => setTimeout(resolve, 10000));
  console.log('status', status);

  return status;
}

main().catch(console.error)
  .finally(gologin.exit);
```

```python Python theme={null}
import time
from gologin import GoLogin
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager


# Initialize GoLogin
gl = GoLogin({
	"token": "your dev token",
  "extra_params": ["--headless"]
})
profile = gl.createProfileRandomFingerprint({ "os": "win" })
profile_id = profile.get('id')
gl.setProfileId(profile_id)
# Add proxy to the profile
gl.addGologinProxyToProfile(profile_id, "us")

# Start Browser and get websocket url
debugger_address = gl.start()

# Get Chromium version for webdriver
chromium_version = gl.get_chromium_version()


# Install webdriver
service = Service(ChromeDriverManager(driver_version=chromium_version).install())

chrome_options = webdriver.ChromeOptions()
chrome_options.add_experimental_option("debuggerAddress", debugger_address)

driver = webdriver.Chrome(service=service, options=chrome_options)

# Give command to Selenium to open the page
driver.get("http://www.python.org")

time.sleep(30)
driver.quit()
time.sleep(10)

gl.delete(profile_id)

gl.stop()

```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.