Resolución dinámica de CAPTCHA

Aprende sobre los mecanismos de detección y resolución de CAPTCHA de Headless Browser y cómo usarlos.

De forma predeterminada, Headless Browser detecta y resuelve automáticamente los CAPTCHAs inmediatamente cuando se carga una página. Sin embargo, algunos sitios web muestran CAPTCHAs en etapas posteriores, como ventanas emergentes al enviar formularios o después de interacciones específicas del usuario.

Headless Browser te permite activar la detección y resolución de CAPTCHA manualmente en cualquier momento durante tu sesión. Para activar manualmente la resolución de CAPTCHA, ejecuta el siguiente código para enviar un mensaje al objeto window:

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

Los tipos de CAPTCHA compatibles incluyen:

  • hcaptcha

  • recaptcha

  • turnstile (CAPTCHA de Cloudflare)

Ejemplo de uso (Playwright / Puppeteer JavaScript):

// ...
await page.click('#form-submit');
// Ahora sabemos que se debe mostrar el CAPTCHA
await page.evaluate(() => {
  window.postMessage({action: 'solve_captcha', type: 'recaptcha'}, '*')
});
// Sigue los eventos `oxylabs-captcha-start` y `oxylabs-captcha-end` como en un caso normal
// ...

Turnstile CAPTCHA requiere un enfoque diferente, ya que debe interceptarse antes de que aparezca en la pantalla. Para hacerlo, inicia primero la detección de CAPTCHA y luego realiza la acción que lo desencadena:

// Sabemos que nuestra siguiente acción puede desencadenar CAPTCHA de Turnstile
await page.evaluate(() => {
  window.postMessage({action: 'solve_captcha', type: 'turnstile'}, '*')
});
await page.click('#form-submit');
// Sigue los eventos `oxylabs-captcha-start` y `oxylabs-captcha-end` como en un caso normal
// ...

¿Te fue útil?