Resolução dinâmica de CAPTCHA

Saiba mais sobre os mecanismos de detecção e resolução de CAPTCHA do Headless Browser e como usá-los.

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

Isto foi útil?