Appearance
CAPTCHA Resolution
CAPTCHA challenges are common obstacles in web automation that can disrupt your workflow. AIBrowser includes an intelligent CAPTCHA resolution system that automatically handles these verification challenges, ensuring your automation tasks proceed smoothly.
Version Information: CAPTCHA resolution is available starting from version 0.7.0. Currently, the system only supports automatic resolution of slider-type CAPTCHAs. Support for text-based CAPTCHAs will be added in future releases.
Automatic CAPTCHA Resolution
The system works by:
- Detecting CAPTCHA challenges as they appear on web pages
- Processing the challenge using advanced recognition algorithms
- Completing the verification process transparently
- Resolution typically completes within 30 seconds for most CAPTCHA types
- Feature is opt-in and disabled by default for performance optimization
Configuration
Enable CAPTCHA resolution by setting the appropriate flag during browser initialization:
python
from agb import AGB, CreateSessionParams, BrowserOption
from playwright.sync_api import sync_playwright
# Initialize AGB client
agb = AGB(api_key="your_api_key")
# Create a session
params = CreateSessionParams(
image_id="agb-browser-use-1",
)
session_result = agb.create(params)
if session_result.success:
session = session_result.session
# Enable CAPTCHA resolution
browser_option = BrowserOption(
use_stealth=True,
solve_captchas=True,
)
# Initialize browser with CAPTCHA resolution enabled
if session.browser.initialize(browser_option):
print("Browser initialized successfully")
endpoint_url = session.browser.get_endpoint_url()
# Connect with Playwright
with sync_playwright() as p:
browser = p.chromium.connect_over_cdp(endpoint_url)
context = browser.contexts[0]
page = context.new_page()
# Your automation code here
page.goto("https://example.com")Event Monitoring
Track CAPTCHA resolution progress through console events. This allows you to implement custom logic while the system handles the verification:
python
import time
def handle_console(msg):
if msg.text == "wuying-captcha-solving-started":
print("🎯 CAPTCHA solving started")
elif msg.text == "wuying-captcha-solving-finished":
print("✅ CAPTCHA solving finished")
# Register console event listener
page.on("console", handle_console)
# Trigger action that may encounter CAPTCHA
page.click("#submit_button")
# Wait for CAPTCHA resolution
time.sleep(30) # Allow time for CAPTCHA processingComplete Example
Here's a complete example demonstrating CAPTCHA resolution with event monitoring:
python
import os
import time
from agb import AGB, CreateSessionParams, BrowserOption
from playwright.sync_api import sync_playwright
# Initialize AGB client
api_key = os.getenv("AGB_API_KEY")
agb = AGB(api_key=api_key)
# Create session
params = CreateSessionParams(image_id="browser_latest")
session_result = agb.create(params)
if session_result.success:
session = session_result.session
# Enable CAPTCHA resolution
browser_option = BrowserOption(
use_stealth=True,
solve_captchas=True,
)
if session.browser.initialize(browser_option):
endpoint_url = session.browser.get_endpoint_url()
with sync_playwright() as p:
browser = p.chromium.connect_over_cdp(endpoint_url)
context = browser.contexts[0]
page = context.new_page()
# Set up console event listener
def handle_console(msg):
if msg.text == "wuying-captcha-solving-started":
print("🎯 CAPTCHA processing started")
elif msg.text == "wuying-captcha-solving-finished":
print("✅ CAPTCHA processing finished")
page.on("console", handle_console)
# Navigate and interact with page
page.goto("https://example.com/login")
page.fill("#username", "user@example.com")
page.click("#submit")
# Wait for CAPTCHA resolution if needed
time.sleep(30)
browser.close()Usage Tips
- Plan for up to 30 seconds processing time per CAPTCHA
- Implement event listeners to track resolution status
- Disable the feature if manual CAPTCHA handling is preferred for your use case
📚 Related Guides
- Browser Fingerprint - Simulate browser fingerprint for web automation
- Call For User - Human intervention for unsolvable challenges
- Browser Use Overview - Complete browser automation features
- Session Management - Session lifecycle and configuration