# Resolução dinâmica de CAPTCHA

Por padrão, Headless Browser detecta e resolve CAPTCHAs automaticamente assim que uma página carrega. No entanto, alguns sites exibem CAPTCHAs em estágios posteriores, como janelas pop-up ao enviar formulários ou após interações específicas do usuário.

Headless Browser permite acionar a detecção e a resolução de CAPTCHA manualmente a qualquer momento durante sua sessão. Para acionar manualmente a resolução de CAPTCHA, execute o seguinte código para enviar uma mensagem ao objeto window:

```
window.postMessage({action: 'solve_captcha', type: '<captcha type>'}, '*')
```

Os tipos de CAPTCHA suportados incluem:

* `hcaptcha`
* `recaptcha`
* `turnstile` (CAPTCHA da Cloudflare)

Exemplo de uso (Playwright / Puppeteer JavaScript):

```
// ...
await page.click('#form-submit');
// Agora sabemos que o CAPTCHA deve ser exibido
await page.evaluate(() => {
  window.postMessage({action: 'solve_captcha', type: 'recaptcha'}, '*')
});
// Siga os eventos `oxylabs-captcha-start` e `oxylabs-captcha-end` como em um caso normal
// ...
```

`Turnstile` O CAPTCHA requer uma abordagem diferente, já que ele precisa ser interceptado antes de aparecer na tela. Para isso, inicie primeiro a detecção de CAPTCHA e, em seguida, execute a ação que o aciona:

```
// Sabemos que nossa próxima ação pode acionar o CAPTCHA Turnstile
await page.evaluate(() => {
  window.postMessage({action: 'solve_captcha', type: 'turnstile'}, '*')
});
await page.click('#form-submit');
// Siga os eventos `oxylabs-captcha-start` e `oxylabs-captcha-end` como em um caso normal
// ...
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://developers.oxylabs.io/products/pt-br/headless-browser/features/dynamic-captcha-solving.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
