Playwright Integración del solucionador Captcha

Utilice esta página cuando su flujo de automatización Playwright necesite una ruta estable para resolver captcha con una guía práctica de integración de API.

Death By Captcha (DBC) permite que los scripts de Playwright resuelvan desafíos de captcha a través de la API en lugar de la interacción manual: tu script extrae los parámetros del desafío de la página, solicita una solución a DBC, inyecta el resultado de vuelta en la página y continúa el flujo. Esta página es el inicio rápido: instalación, un código de ejemplo ejecutable y notas de las tareas admitidas.

Instalación

Node.js:

npm install playwright deathbycaptcha-lib

Python:

pip install deathbycaptcha-official

Usa las credenciales de tu cuenta de DBC en el cliente. Crea una cuenta y revisa precios y saldo antes de ejecutar el flujo.

Código de ejemplo: flujo de token reCAPTCHA v2 (Node.js), adaptado del ejemplo oficial ejecutable.

const { chromium } = require('playwright');
const { HttpClient } = require('deathbycaptcha-lib');

const client = new HttpClient(process.env.DBC_USERNAME, process.env.DBC_PASSWORD);
const DEMO_URL = 'https://www.google.com/recaptcha/api2/demo';

async function solveRecaptchaV2(pageUrl, sitekey) {
  const balance = await new Promise((resolve, reject) =>
    client.get_balance((b) => (b ? resolve(b) : reject(new Error('Could not read balance')))));
  if (balance <= 0) throw new Error('No balance - top up before solving.');

  return new Promise((resolve, reject) =>
    client.decode(
      { extra: { type: 4, token_params: JSON.stringify({ googlekey: sitekey, pageurl: pageUrl }) } },
      (solution) => (solution && solution.text ? resolve(solution.text) : reject(new Error('No solution yet - retry')))
    ));
}

(async () => {
  const browser = await chromium.launch();
  const page = await browser.newPage();
  await page.goto(DEMO_URL, { timeout: 60000 });

  // 1. extract the challenge parameters
  const sitekey = await page.getAttribute('#recaptcha-demo', 'data-sitekey');

  // 2. request the solution token from DBC (type 4 = reCAPTCHA v2 token)
  const token = await solveRecaptchaV2(DEMO_URL, sitekey);

  // 3. inject the token and trigger the page callback
  await page.evaluate((t) => {
    const el = document.getElementById('g-recaptcha-response');
    if (!el) return;
    el.style.display = 'block';
    el.value = t;
    el.dispatchEvent(new Event('input', { bubbles: true }));
    el.dispatchEvent(new Event('change', { bubbles: true }));
    const cfg = window.___grecaptcha_cfg;
    if (!cfg || !cfg.clients) return;
    for (const k of Object.keys(cfg.clients)) {
      const c = cfg.clients[k];
      for (const key of Object.keys(c)) {
        const item = c[key];
        if (item && typeof item.callback === 'function') return item.callback(t);
        if (item && item.W && typeof item.W.callback === 'function') return item.W.callback(t);
      }
    }
  }, token);

  // 4. submit and wait for success
  await page.click('#recaptcha-demo-submit');
  await page.waitForSelector('.recaptcha-success', { timeout: 15000 });

  console.log('solved');
  await browser.close();
})();

Versión completa ejecutable: examples/playwright en el repositorio oficial del cliente Node.js

Flujo de trabajo típico de Playwright

  1. Detecte el tipo de desafío en el flujo de automatización de su navegador.
  2. Envíe parámetros de desafío a través de la API.
  3. Inyecte el token/solución devuelto en el flujo objetivo.
  4. Maneje los reintentos y el enrutamiento de fallas con una política de tiempo de espera explícita.

Notas sobre las tareas admitidas

Tema Nota
Tipos de captcha (API) reCAPTCHA v2 y v3, Cloudflare Turnstile, GeeTest, DataDome y captchas de imagen/texto.
Saldo Las soluciones se pagan con el saldo de la cuenta; compruébalo antes de decodificar.
Reintentos Que no devuelva solución significa temporal: reintenta con espera, como hace el ejemplo oficial.
API frente a la extensión Este flujo usa la API dentro de tu script; la extensión del navegador es la ruta sin código para la navegación manual.
Navegadores admitidos Chromium, Firefox y WebKit mediante Playwright (muestra verificada en Chromium).

Consideraciones de integración

Área Por qué es importante Práctica recomendada
Coherencia del proxy Reduce el riesgo de desajuste de verificación en los flujos de tokens. Mantenga la ruta de resolución y envío alineada en el contexto de automatización.
Disciplina de tiempo muerto Evita paradas en colas y ejecuciones de CI inestables. Utilice reintentos limitados con manejo de respaldo determinista.
Manejo específico del tipo Diferentes clases de desafío necesitan diferentes campos de carga útil. Comience desde páginas de tipo API y valide un tipo a la vez.

Implementación siguiente paso

Para implementar el solucionador de captcha de Playwright, primero valide un tipo de captcha y luego amplíe la cobertura con verificaciones de confiabilidad y precios para la escala de producción.


Estado: OK

Los servidores están completamente operativos con un tiempo de respuesta más rápido que el promedio.
  • Tiempo medio de resolución
  • -- segundos - Normal CAPTCHAs (1 min. atrás)
  • 16 segundos - reCAPTCHA V2, V3 (1 min. atrás)
  • 15 segundos - otros (1 min. atrás)
Chrome and Firefox logos
Extensiones de navegador disponibles

Actualizaciones

  1. May 13: Crypto payments got better! You can now purchase your CAPTCHAs using cryptocurrency through the Hekelet payment processor at https://deathbycaptcha.com/user-pay and receive an extra 20% FREE CAPTCHA credit with every package purchased this way.
  2. Apr 15: GitHub Updates: We’ve upgraded our libraries, expanded sample code, enhanced documentation, and added support for C++ and Go, making integration smoother than ever. Explore what’s new at github.com/deathbycaptcha!
  3. Jan 27: RESOLVED - If your email to one of our official addresses ([email protected], [email protected], or [email protected]) has bounced or you haven’t received a response, please try resending it or reach out via our Live Chat Support at https://deathbycaptcha.com/es/contact.

  4. Actualizaciones anteriores…

Apoyo

Nuestro sistema está diseñado para ser completamente fácil de usar. Si tiene algún problema con él, simplemente envíenos un correo electrónico a Correo electrónico de soporte técnico de DBC com, y un agente de soporte se comunicará con usted lo antes posible.

Soporte en vivo

Disponible de lunes a viernes (10 am a 4 pm EST) Live support image. Link to live support page