How xewdy444/playwright-recaptcha works
Playwright-reCAPTCHA is a Python library that returns a reCAPTCHA response token to browser-automation callers. For v2, callers invoke a synchronous or asynchronous solver, which locates and interacts with the challenge; audio solving transcribes audio, while optional image solving delegates classification to CapSolver. For v3, the solver listens for the browser’s reload response and extracts its token. The README documents Google speech recognition for v2 audio. Source excerpts are partial, so the graph omits unverified method-level wiring.
Main entry points: sync_solver.py Sync V2 solver · async_solver.py Async V2 solver · recaptchav2/base_solver.py V2 solver base · recaptchav3/base_solver.py V3 solver base
Components 18
reCAPTCHA v2
- V2 public API
playwright_recaptcha/recaptchav2/__init__.py - V2 solver base
playwright_recaptcha/recaptchav2/base_solver.py - Sync V2 solver
playwright_recaptcha/recaptchav2/sync_solver.py - Async V2 solver
playwright_recaptcha/recaptchav2/async_solver.py - Challenge frames
playwright_recaptcha/recaptchav2/recaptcha_box.py - Challenge translations
playwright_recaptcha/recaptchav2/translations.py
reCAPTCHA v3
- V3 public API
playwright_recaptcha/recaptchav3/__init__.py - V3 solver base
playwright_recaptcha/recaptchav3/base_solver.py - Sync V3 solver
playwright_recaptcha/recaptchav3/sync_solver.py - Async V3 solver
playwright_recaptcha/recaptchav3/async_solver.py
Shared components
- Solver errors
playwright_recaptcha/errors.py - Package exports
playwright_recaptcha/__init__.py
Other components
- Automation caller
- Playwright page
- Response token
- reCAPTCHA service
- Speech recognition
- CapSolver API
Connections 35
- Automation caller → Package exports: imports solvers
- Package exports → V2 public API: exports V2
- Package exports → V3 public API: exports V3
- Automation caller → Sync V2 solver: invokes
- Automation caller → Async V2 solver: invokes
- Automation caller → Sync V3 solver: invokes
- Automation caller → Async V3 solver: invokes
- V2 public API → Sync V2 solver: exports
- V2 public API → Async V2 solver: exports
- V3 public API → Sync V3 solver: exports
- V3 public API → Async V3 solver: exports
- Sync V2 solver → V2 solver base: extends
- Async V2 solver → V2 solver base: extends
- Sync V2 solver → Challenge frames: interacts with
- Async V2 solver → Challenge frames: interacts with
- Challenge frames → Challenge translations: uses labels
- Sync V2 solver → CapSolver API: posts image tasks
- Async V2 solver → CapSolver API: posts image tasks
- Sync V2 solver → Speech recognition: transcribes audio
- Async V2 solver → Speech recognition: transcribes audio
- Sync V2 solver → Playwright page: controls challenge
- Async V2 solver → Playwright page: controls challenge
- Playwright page → reCAPTCHA service: sends challenge requests
- reCAPTCHA service → Playwright page: returns challenge responses
- Sync V3 solver → V3 solver base: extends
- Async V3 solver → V3 solver base: extends
- V3 solver base → Playwright page: registers response listener
- Playwright page → reCAPTCHA service: sends reload request
- reCAPTCHA service → Playwright page: returns reload response
- Sync V3 solver → Response token: extracts token
- Async V3 solver → Response token: extracts token
- V2 solver base → Response token: returns token
- Response token → Automation caller: returns result
- V2 solver base → Solver errors: raises solve errors
- V3 solver base → Solver errors: raises timeout errors