Intégration du solveur Captcha Playwright

Utilisez cette page lorsque votre flux d'automatisation Playwright a besoin d'un chemin de résolution de captcha stable avec des conseils pratiques d'intégration d'API.

Death By Captcha (DBC) permet aux scripts Playwright de résolver les défis de captcha via l'API au lieu de l'interaction manuelle : votre script extrait les paramètres du défi de la page, demande une solution à DBC, réinjecte le résultat dans la page puis poursuit le flux. Cette page est le quickstart : installation, un exemple de code exécutable et les notes sur les tâches prises en charge.

Installation

Node.js:

npm install playwright deathbycaptcha-lib

Python:

pip install deathbycaptcha-official

Utilisez vos identifiants de compte DBC dans le client. Créez un compte et vérifiez les tarifs et le solde avant de lancer le flux.

Exemple de code : flux de jeton reCAPTCHA v2 (Node.js), adapté de l'exemple officiel exécutable.

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();
})();

Version complète exécutable : examples/playwright dans le dépôt officiel du client Node.js

Flux de travail typique de Playwright

  1. Détectez le type de défi dans le flux d'automatisation de votre navigateur.
  2. Soumettez les paramètres du défi via l'API.
  3. Injectez le jeton/la solution renvoyé dans le flux cible.
  4. Gérez les tentatives et le routage des échecs avec une politique de délai d'attente explicite.

Notes sur les tâches prises en charge

Sujet Remarque
Types de captcha (API) reCAPTCHA v2 et v3, Cloudflare Turnstile, GeeTest, DataDome et captchas image/texte.
Solde Les solutions sont payées avec le solde du compte ; vérifiez-le avant de décoder.
Nouvelles tentatives L'absence de solution est temporaire : réessayez avec backoff, comme le fait l'exemple officiel.
API contre extension Ce flux utilise l'API dans votre script ; l'extension de navigateur est le chemin sans code pour la navigation manuelle.
Navigateurs pris en charge Chromium, Firefox et WebKit via Playwright (échantillon vérifié sur Chromium).

Considérations d'intégration

Zone Pourquoi c'est important Pratique recommandée
Cohérence du proxy Réduit le risque de non-concordance de vérification dans les flux de jetons. Gardez le chemin de résolution et de soumission aligné dans le contexte d’automatisation.
Discipline de temps mort Empêche les blocages de file d’attente et les exécutions irrégulières de CI. Utilisez des tentatives limitées avec une gestion de secours déterministe.
Manipulation spécifique au type Différentes classes de défi nécessitent différents champs de charge utile. Partez des pages de type API et validez un type à la fois.

Prochaine étape de mise en œuvre

Pour le déploiement du solveur captcha Playwright, validez d'abord un type de captcha, puis étendez la couverture avec des contrôles de fiabilité et de prix pour l'échelle de production.


Statut: OK

Les serveurs sont pleinement opérationnels avec un temps de réponse plus rapide que la moyenne.
  • Temps de résolution moyen
  • -- secondes - Normal CAPTCHAs (1 min. il y a)
  • 16 secondes - reCAPTCHA V2, V3 (1 min. il y a)
  • 15 secondes - autres (1 min. il y a)
Chrome and Firefox logos
Extensions du navigateur disponibles

Mises à jour

  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. Mises à jour précédentes…

Soutien

Notre système est conçu pour être totalement convivial et facile à utiliser. Si vous rencontrez des problèmes, envoyez-nous simplement un e-mail àE-mail du support technique DBC com, et un agent de support vous répondra dans les plus brefs délais.

Support en direct

Disponible du lundi au vendredi (10 h à 16 h HNE) Live support image. Link to live support page