> ## 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.

# Modo headless

Um navegador headless é um navegador web sem interface gráfica do usuário (GUI). Ele é executado em segundo plano e é controlado de forma programática, por meio de código ou de interfaces de linha de comando. Navegadores headless podem realizar todas as operações padrão de um navegador, como renderizar páginas web, executar JavaScript e lidar com cookies, mas sem exibir nenhum componente visual.

## Casos de uso comuns

* Web scraping e extração de dados
* Testes automatizados de aplicações web
* Captura de telas ou geração de PDFs de páginas web
* Monitoramento e testes de desempenho
* Automação de tarefas web repetitivas

## Vantagens

* Menor consumo de recursos (não é necessário renderizar a GUI)
* Execução mais rápida do que instâncias completas de navegador
* Ideal para ambientes de servidor sem recursos de exibição
* Perfeito para pipelines de CI/CD e fluxos de trabalho automatizados

Navegadores headless são muito usados em ferramentas para desenvolvedores, frameworks de testes e serviços de automação para interagir com conteúdo web de forma programática.

# Exemplo de modo headless

**Verificar o status de confiabilidade**

```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.