Playwright · Python


エージェントオートメーション · プレイライト
Playwright Agent に CAPTCHA 解決機能を追加する
Playwright ベースの AI エージェントに、サポートされている CAPTCHA を処理する方法を提供します。 CapSolver エージェント ツールはチャレンジを検出し、解決が有効になっている場合は結果を返して自動入力するため、承認された Python ワークフローを継続できます。
仕組み
Playwright での CAPTCHA 解決の仕組み
CapSolver Agent Tools を使用して、サポートされている CAPTCHA を検出し、有効になっている場合はそれらを解決し、結果を自動入力して、承認された Playwright ワークフローを続行できるようにします。
検出
CAPTCHA iframe またはウィジェットが表示されます
解決する
createTask → getTaskResult
注入する
page.evaluate(トークン)
続ける
フォームを送信して次に進みます
いつ使用するか
Playwright ベースの AI エージェントが CapSolver を使用する場所
QAテストの自動化
認可されたステージング テストおよび運用テストで CAPTCHA を処理し、テスト実行の中断を減らします。
RPA ワークフロー
CAPTCHA が表示されても、データ入力、注文処理、レポート作成、その他のブラウザ ワークフローを実行し続けます。
データ抽出
ボット保護を備えたサイトからの Web スクレイピングとデータ収集 - reCAPTCHA または Cloudflare Turnstile によってゲートされる公開データ。
カスタムブラウザエージェント
Playwright を使用して、CAPTCHA を解決してタスクを続行できるカスタム AI ブラウザ エージェントを構築します。
クイックスタート
CAPTCHA解決をPlaywrightに追加
セットアップを高速化するには自動処理を選択するか、CAPTCHA 結果をさらに制御する必要がある場合はトークン モードを使用します。
# pip install capsolver-core playwright
# playwright install chromium
# export CAPSOLVER_API_KEY=CAP-XXXXXX
import asyncio
import os
from playwright.async_api import async_playwright
from capsolver_core import Capsolver, from_playwright_page
from _env import load_example_env # demo only: reads repo-root .env
load_example_env()
async def main():
async with async_playwright() as pw:
browser = await pw.chromium.launch(headless=False)
page = await browser.new_page()
await page.goto("https://www.google.com/recaptcha/api2/demo")
cap = Capsolver(api_key=os.environ["CAPSOLVER_API_KEY"])
driver = from_playwright_page(page) # wrap the live Playwright page
results = await cap.solve_on_page(driver) # detect -> solve -> autofill
for r in results:
status = "solved" if r.solution else "failed"
print(r.info.type.value, status, "filled:", r.filled)
await page.click('#recaptcha-demo-submit')
await page.wait_for_selector(".recaptcha-success")
print("Verification successful!")
await browser.close()
asyncio.run(main())
トークンインジェクション
異なる CAPTCHA、異なる注入フィールド。
各 CAPTCHA タイプは、異なる DOM 要素にトークンを保存します。最も一般的なタイプの注入方法は次のとおりです。
# pip install capsolver-core playwright
# playwright install chromium
# export CAPSOLVER_API_KEY=CAP-XXXXXX
#
# reCAPTCHA v2 token injection -> #g-recaptcha-response
# handler.fill() writes the token and fires the widget callback for you.
import asyncio
import os
from playwright.async_api import async_playwright
from capsolver_core import Capsolver, CaptchaInfo, CaptchaType, from_playwright_page
from _env import load_example_env # demo only: reads repo-root .env
load_example_env()
URL = "https://www.google.com/recaptcha/api2/demo"
SITE_KEY = "6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-"
async def main():
async with async_playwright() as pw:
browser = await pw.chromium.launch(headless=False)
page = await browser.new_page()
await page.goto(URL)
cap = Capsolver(api_key=os.environ["CAPSOLVER_API_KEY"])
driver = from_playwright_page(page)
info = CaptchaInfo(
type=CaptchaType.RECAPTCHA_V2, website_url=URL, website_key=SITE_KEY
)
solution = await cap.solve(info)
filled = await cap.get_handler(info.type).fill(driver, solution, info)
print(f"filled={filled} token={solution.token[:40]}...")
await browser.close()
asyncio.run(main())CAPTCHA の範囲
Playwright エージェントが利用できる CAPTCHA タイプ
CapSolver と Playwright を使用して、一般的な reCAPTCHA および Cloudflare Turnstile の課題を処理します。
キャプチャの種類
タスクの種類
インジェクションセレクター
ステータス
reCAPTCHA v2
ReCaptchaV2TaskProxyLess
#g-recaptcha-response
reCAPTCHA v3
ReCaptchaV3TaskProxyLess
リクエストとともに提出されました
reCAPTCHA エンタープライズ
ReCaptchaV2エンタープライズタスクプロキシレス
#g-recaptcha-response
クラウドフレア回転木戸
AntiTurnstileTaskProxyLess
[name="cf-turnstile-response"]
本番環境のベストプラクティス
本番環境で信頼性の高い CAPTCHA 処理を行うためのヒント。
解く前に確認してください
01CAPTCHA が実際に存在する場合にのみ、CapSolver を呼び出します。最初に iframe またはウィジェットの存在を確認します。
タイムアウトを設定する
02適切なタイムアウト (30 ~ 60 秒) を設定し、getTaskResult に時間がかかりすぎる場合はバックオフで再試行します。
結果を明確に扱う
03返された結果を正しく適用し、解決が完了しない場合にワークフローが行うべきことを定義します。
レート制限を尊重する
04並列ブラウザ コンテキストを実行する場合は、プランの制限内に収まるように CapSolver 呼び出しを調整します。
CAPTCHA の遭遇をログに記録する
05解決の試行ごとに、タスク ID、CAPTCHA の種類、結果ステータス、エラーを記録します。
API キーを保護する
06CapSolver API キーを環境変数またはシークレット マネージャーに保存します。
責任ある使用
責任ある自動化のために CapSolver を使用する
CapSolver は、QA テスト、アクセス許可のあるシステムでの RPA、公開データの収集、準拠した自動化タスクなど、承認された自動化のユースケース向けに設計されています。当社は、不正アクセス、認証情報のスタッフィング、スパム、または利用規約や適用法に違反する活動をサポートまたは容認しません。
多くの正規の自動ワークフローは、誤ってボットとしてフラグが付けられます。 CapSolver は、自動化する正当な理由がある場合に、誤検知の CAPTCHA チャレンジから回復するのに役立ちます。
よくある質問
関連する統合
エージェント スタック向けの CapSolver 統合をさらに検討する
別の統合を選択して、エージェントまたはブラウザのワークフローに CAPTCHA 解決を追加します。

