API Solvers extract captcha data (like site keys) and send them to external services for solving.
Supported Solvers:
TwoCaptchaSolver: Supports Cloudflare Interstitial, Cloudflare Turnstile, reCAPTCHA v2, and reCAPTCHA v3.TenCaptchaSolver: Supports reCAPTCHA v2 and reCAPTCHA v3.
Workflow:
- Initialize your external service client (e.g.,
AsyncTwoCaptcha). - Initialize the solver using an async context manager before navigating to the target page.
- Navigate to the page.
- Call
solve_captcha with the appropriate CaptchaType.
import asyncio
import os
from playwright.async_api import async_playwright
from twocaptcha import AsyncTwoCaptcha
from playwright_captcha import CaptchaType, TwoCaptchaSolver, FrameworkType
async def solve_with_2captcha():
# Initialize 2Captcha client
captcha_client = AsyncTwoCaptcha(os.getenv('TWO_CAPTCHA_API_KEY'))
async with async_playwright() as playwright:
browser = await playwright.chromium.launch(headless=False)
page = await browser.new_page()
framework = FrameworkType.PLAYWRIGHT
async with TwoCaptchaSolver(framework=framework,
page=page,
async_two_captcha_client=captcha_client) as solver:
# Navigate to your target page
await page.goto('https://example.com/with-recaptcha')
# Solve reCAPTCHA v2
await solver.solve_captcha(
captcha_container=page,
captcha_type=CaptchaType.RECAPTCHA_V2
)
# Continue with your automation...
asyncio.run(solve_with_2captcha())