Эта страница помогает командам Selenium интегрировать решение капчи со стабильными, повторяемыми рабочими процессами для конвейеров тестирования и автоматизации.
Death By Captcha (DBC) позволяет скриптам Selenium решать капчи через API вместо ручного взаимодействия: ваш скрипт извлекает параметры страницы, запрашивает решение у DBC, внедряет результат обратно на страницу и продолжает выполнение. Эта страница — быстрый старт: установка, рабочий пример кода и заметки по поддерживаемым задачам.
Python:
pip install selenium deathbycaptcha-official
Используйте данные учётной записи DBC в клиенте. Создайте аккаунт и проверьте тарифы и баланс перед запуском сценария.
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()
Полная рабочая версия: examples/deathbycaptcha-python-selenium в официальном репозитории клиента Python
| Нуждаться | Selenium контекст | Путь DBC |
|---|---|---|
| Стабильный рабочий процесс с токенами | Детерминированная обработка при повторных запусках автоматизации. | Поток токенов, управляемый API, с явными ограничениями повтора/времени. |
| Тип покрытия | Разные проекты сталкиваются с разными классами задач. | Используйте конечные точки конкретного типа и проверяйте каждый сценарий отдельно. |
| Оперативная поддержка | Производственные проблемы требуют быстрой диагностики. | Поверхности поддержки и надежности для эскалации и планирования. |
| Тема | Примечание |
|---|---|
| Типы капч (API) | reCAPTCHA v2 и v3, Cloudflare Turnstile, GeeTest, DataDome, а также изображения/текстовые капчи. |
| Сценарий | Извлеките sitekey со страницы, запросите токен у API DBC (type 4), внедрите его обратно и отправьте форму. |
| Баланс | Решения оплачиваются с баланса аккаунта; проверьте его перед декодированием. |
| Повторные попытки | Если решение не вернулось — это временная ситуация: повторите запрос с задержкой, как в официальном примере. |
| API против расширения | Этот сценарий использует API внутри вашего скрипта; браузерное расширение — это путь без кода для ручного просмотра. |
| Поддерживаемые браузеры | Любой браузер с поддержкой WebDriver; официальный пример работает в Firefox и Chrome. |
Для развертывания средства решения капчи Selenium сначала подтвердите стабильный поток токенов, а затем подключите страницы надежности и цен, чтобы завершить планирование производства.