Intégration du solveur Captcha Selenium

Cette page aide les équipes Selenium à intégrer la résolution de captcha avec des flux de travail stables et reproductibles pour les pipelines de test et d'automatisation.

Death By Captcha (DBC) permet aux scripts Selenium 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

Python:

pip install selenium 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 (Python + Selenium), adapté de l'exemple officiel exécutable.

import json
import os
import time

import deathbycaptcha
from selenium import webdriver
from selenium.webdriver.common.by import By

USERNAME = os.getenv('DBC_USERNAME')
PASSWORD = os.getenv('DBC_PASSWORD')
DEMO_URL = 'https://www.google.com/recaptcha/api2/demo'

def solve_recaptcha_v2(driver):
    # 1. extract the challenge parameters from the page
    sitekey = driver.find_element(By.ID, 'recaptcha-demo').get_attribute('data-sitekey')
    token_params = json.dumps({'googlekey': sitekey, 'pageurl': DEMO_URL})

    client = deathbycaptcha.SocketClient(USERNAME, PASSWORD)
    if client.get_balance() <= 0:
        raise SystemExit('No balance - top up before solving.')

    # 2. request the solution token from DBC (type 4 = reCAPTCHA v2 token)
    result = client.decode(type=4, token_params=token_params)
    return result['text'] if result else None

driver = webdriver.Firefox()
driver.get(DEMO_URL)

token = solve_recaptcha_v2(driver)
if not token:
    print('No solution yet - retry with backoff')
    raise SystemExit(1)


# 3. inject the token back into the page
driver.execute_script("document.getElementById('g-recaptcha-response').value = arguments[0]", token)

# 4. submit and wait for the success element
driver.find_element(By.ID, 'recaptcha-demo-submit').click()
time.sleep(2)
print(driver.find_element(By.CLASS_NAME, 'recaptcha-success').text)
driver.quit()

Version complète exécutable : examples/deathbycaptcha-python-selenium dans le dépôt officiel du client Python

Où les équipes Selenium luttent habituellement

  • Des solutions instables provoquent des échecs de test intermittents.
  • Gestion des défis incohérente dans tous les environnements.
  • Faible stratégie de nouvelle tentative et de délai d'attente en cas de concurrence élevée.

Matrice d'intégration Selenium

Besoin Contexte Selenium Chemin DBC
Flux de travail de jeton stable Gestion déterministe lors d’exécutions d’automatisation répétées. Flux de jetons piloté par API avec limites de tentatives/délai explicites.
Type de couverture Différents projets correspondent à différentes classes de défis. Utilisez des points de terminaison spécifiques au type et validez chaque scénario séparément.
Soutien opérationnel Les problèmes de production nécessitent un diagnostic rapide. Surfaces de support et de fiabilité pour l’escalade et la planification.

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.
Flux Extrayez le sitekey de la page, demandez le jeton à l'API DBC (type 4), réinjectez-le et soumettez le formulaire.
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 N'importe quel navigateur compatible WebDriver ; l'échantillon officiel s'exécute sur Firefox et Chrome.

Prochaine étape de mise en œuvre

Pour le déploiement du solveur captcha Selenium, confirmez d'abord le flux de jetons stable, puis connectez les pages de fiabilité et de tarification pour finaliser la planification de la 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
  • 4 secondes - Normal CAPTCHAs (1 min. il y a)
  • 17 secondes - reCAPTCHA V2, V3 (1 min. il y a)
  • 16 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