CAPSOLVER
ブログ
TinyFish AgentQLを使ってCAPTCHAを解決する方法 – ステップバイステップのガイド (CapSolverを使用して)

TinyFish AgentQLを使ってCAPTCHAを解決する方法 – CapSolverを使用したステップバイステップガイド

Logo of CapSolver

Sora Fujimoto

AI Solutions Architect

05-Aug-2026

AI駆動のウェブ自動化がCAPTCHAの壁にぶつかると、全体のパイプラインが停止します。ページが読み込まれず、フォームが送信できず、データ抽出が止まる—すべてはロボットをブロックするように設計されたチャレンジが原因です。TinyFish AgentQLは、AIをウェブに接続するための強力なツールキットで、自然言語クエリ、Playwright統合、エンタープライズ規模での構造化されたデータ抽出を特徴とします。しかし、どのブラウザ自動化フレームワークと同様に、CAPTCHAで詰まってしまいます。

CapSolverはこれを完全に変えるものです。AgentQLのPlaywright駆動のブラウザコンテキストにCapSolver Chrome拡張機能を読み込むことで、CAPTCHAは背景で自動的かつ見えない形で解決されます。手動で解く必要はありません。あなたの側で複雑なAPIのオーケストレーションも必要ありません。あなたの自動化スクリプトは、CAPTCHAが存在しなかったかのように動作し続けます。

最高の点は、あなたのAgentQLクエリとスクリプトに1行のCAPTCHA関連のコードも必要ないということです。拡張機能は、検出、解決、トークンの挿入をすべて独自に処理し、エージェントはデータ抽出とワークフローの自動化に専念できます。

TinyFish AgentQLとは何か?

TinyFish AgentQLは、AIエージェントやLLMをライブウェブ環境に接続するためのエンタープライズグレードのツールキットです。TinyFishによって開発され、ページ要素を検索し、自然言語を使用して構造化されたデータを抽出するAI駆動のクエリ言語を提供します—破壊しやすいCSSセレクターやXPathsは必要ありません。

主な特徴

  • AI駆動のクエリ言語: ページのコンテンツに基づいて要素を直感的に見つける。UIの変化に伴ってクエリが自己修復します。
  • Playwright統合: PythonとJavaScriptのSDKは、高度なブラウザ自動化のためにPlaywrightとシームレスに統合されます。
  • 構造化されたデータ抽出: 出力の形状を定義し、あらゆるページ(公開または非公開、静的または動的)からクリーンで構造化されたデータを取得します。
  • REST API: RESTエンドポイントを介してSDKなしでクエリを実行します。
  • ブラウザデバッガー: 実時間でクエリをテストおよび調整するためのChrome拡張機能
  • クロスサイトの耐障害性: 変更なしで類似したウェブサイトで動作し、ページの変更に動的に適応します。
  • エンタープライズ規模: 高スループットのワークロードに設計され、同時に数百のタスクを実行します。

AgentQLはあらゆるページで動作します—認証されたコンテンツや動的に生成されたページを含む—大規模なウェブ自動化、データ収集、AIエージェントワークフローに最適です。

CapSolverとは何か?

CapSolverは、さまざまなCAPTCHAチャレンジを自動的に解決するリーディングなAI駆動のCAPTCHA解決サービスです。高速な応答時間と広範な互換性により、自動化ワークフローにシームレスに統合されます。

サポートされているCAPTCHAタイプ

  • reCAPTCHA v2(チェックボックスおよび非表示)
  • reCAPTCHA v3 & v3 Enterprise
  • Cloudflare Turnstile
  • Cloudflare 5秒チャレンジ
  • AWS WAF CAPTCHA
  • その他

この統合が異なる理由

ほとんどのCAPTCHA解決の統合では、ボイラープレートコードを書く必要があります:タスクを作成し、結果をポーリングし、隠しフィールドにトークンを挿入します。これは、ローカルなPlaywrightまたはPuppeteerスクリプトで標準的なアプローチです。

AgentQL + CapSolverは根本的に異なるアプローチを取ります:

従来の(コードベース) AgentQL + CapSolver拡張機能
CapSolverサービスクラスを記述 Playwrightコンテキストで拡張機能をロード
createTask() / getTaskResult()を呼び出す 拡張機能がすべて自動的に処理します
page.evaluate()を介してトークンを挿入 トークンの挿入は目に見えません
エラー、リトライ、タイムアウトをコードで処理 拡張機能が内部でリトライを管理します
各CAPTCHAタイプごとに異なるコード すべてのタイプで自動的に動作します

重要な洞察: CapSolver拡張機能はAgentQLのPlaywrightブラウザコンテキスト内で実行されます。AgentQLがCAPTCHAのあるページに移動すると、拡張機能はそれを検出し、背景で解決し、トークンを挿入します—あなたのスクリプトがフォームとインタラクションする前にすべてが完了します。あなたの自動化コードはクリーンで、CAPTCHAフリーのままです。

必要条件

統合をセットアップする前に、以下のものを確認してください:

  • TinyFish AgentQLがインストールされている(Python SDKまたはJavaScript SDK)
  • CapSolverアカウントとAPIキー(サインアップはこちら
  • Node.js 16+Python 3.8+(SDKの選択に応じて)
  • Playwrightがインストールされ、Chromiumが含まれている

重要: Chrome拡張機能はChromiumで動作し、永続的なコンテキストが必要です。これはPlaywrightの要件であり、AgentQLの制限ではありません。

ステップバイステップのセットアップ

ステップ1: AgentQLをインストール

Python SDK:

bash Copy
pip install agentql
playwright install chromium

JavaScript SDK:

bash Copy
npm install agentql
npx playwright install chromium

ステップ2: CapSolver Chrome拡張機能をダウンロード

CapSolver Chrome拡張機能をダウンロードし、専用のディレクトリに抽出します:

  1. CapSolver Chrome拡張機能 v1.17.0リリースにアクセス
  2. CapSolver.Browser.Extension-chrome-v1.17.0.zipをダウンロード
  3. ZIPを抽出します:
bash Copy
mkdir -p ~/capsolver-extension
unzip CapSolver.Browser.Extension-chrome-v*.zip -d ~/capsolver-extension/
  1. 抽出が成功したか確認します:
bash Copy
ls ~/capsolver-extension/manifest.json

manifest.jsonが表示されれば、拡張機能が正しい場所にあります。

ステップ3: CapSolver APIキーを構成

~/capsolver-extension/assets/config.jsの拡張機能の設定ファイルを開き、apiKeyの値を自分のものに置き換えます:

javascript Copy
export const defaultConfig = {
  apiKey: 'CAP-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX', // ← ここにあなたのキーを入力
  useCapsolver: true,
  // ... その他の設定
};

あなたのAPIキーはCapSolverダッシュボードから取得できます。

ステップ4: CapSolver拡張機能でAgentQLを起動

重要なステップは、永続的なコンテキストでPlaywrightのChromiumを起動し、CapSolver拡張機能をロードすることです。

Python例:

python Copy
import agentql
from playwright.sync_api import sync_playwright
import time
import os

# CapSolver拡張機能のパス
CAPSOLVER_EXTENSION_PATH = os.path.expanduser("~/capsolver-extension")

def main():
    with sync_playwright() as p:
        # 永続的なコンテキストとCapSolver拡張機能でChromiumを起動
        context = p.chromium.launch_persistent_context(
            user_data_dir="./browser-data",
            headless=False,  # 拡張機能はヘッドレスモードでは動作しません
            args=[
                f"--disable-extensions-except={CAPSOLVER_EXTENSION_PATH}",
                f"--load-extension={CAPSOLVER_EXTENSION_PATH}",
            ],
        )

        # AgentQLでページをラップしてAI駆動のクエリを実行
        page = agentql.wrap(context.pages[0])

        # あなたのターゲットページに移動
        page.goto("https://example.com/protected-page")

        # CapSolverがCAPTCHAを検出および解決するのを待つ
        time.sleep(30)

        # AgentQLの自然言語クエリを使用して送信ボタンを検索およびクリック
        response = page.query_elements("""
        {
            submit_button
        }
        """)

        # 送信ボタンをクリック—CAPTCHAはすでに解決されています!
        response.submit_button.click()

        # 送信後のデータを抽出
        result = page.query_data("""
        {
            confirmation_message
        }
        """)

        print(f"結果: {result['confirmation_message']}")

        context.close()

if __name__ == "__main__":
    main()

JavaScript例:

javascript Copy
const { chromium } = require('playwright');
const agentql = require('agentql');
const path = require('path');
const os = require('os');

const CAPSOLVER_EXTENSION_PATH = path.join(os.homedir(), 'capsolver-extension');

(async () => {
  // 永続的なコンテキストとCapSolver拡張機能でChromiumを起動
  const context = await chromium.launchPersistentContext('./browser-data', {
    headless: false, // 拡張機能はヘッドレスモードでは動作しません
    args: [
      `--disable-extensions-except=${CAPSOLVER_EXTENSION_PATH}`,
      `--load-extension=${CAPSOLVER_EXTENSION_PATH}`,
    ],
  });

  // 最初のページを取得し、AgentQLでラップ
  const page = agentql.wrap(context.pages()[0]);

  // ターゲットページに移動
  await page.goto('https://example.com/protected-page');

  // CapSolverがCAPTCHAを処理するのを待つ
  await page.waitForTimeout(30000);

  // AgentQLクエリを使用して操作—CAPTCHAはすでに解決されています
  const response = await page.queryElements(`{
    submit_button
  }`);

  await response.submit_button.click();

  // 結果データを抽出
  const result = await page.queryData(`{
    confirmation_message
  }`);

  console.log('結果:', result.confirmation_message);

  await context.close();
})();

ステップ5: 拡張機能がロードされているか確認

ブラウザを起動した後、ブラウザウィンドウで chrome://extensions に移動して、CapSolver拡張機能がアクティブであることを確認してください。拡張機能がリストに表示され、有効になっているはずです。

または、ブラウザコンソールでCapSolverのログメッセージを確認して、サービスワーカーが実行されていることを確認してください。

使用方法

セットアップが完了したら、AgentQLでCapSolverを使用するのは簡単です。

ロールの黄金則

CAPTCHA固有のコードを書かないでください。 CAPTCHA保護されたフォームとインタラクションする前に待機時間を追加し、拡張機能にすべてを任せます。

例1: reCAPTCHAの裏側にあるフォーム送信

python Copy
page.goto("https://example.com/contact")

# AgentQLクエリを使用してフォームを入力
response = page.query_elements("""
{
    contact_form {
        name_field
        email_field
        message_field
        submit_button
    }
}
""")

response.contact_form.name_field.fill("John Doe")
response.contact_form.email_field.fill("john@example.com")
response.contact_form.message_field.fill("Hello, I have a question about your services.")

# CapSolverがCAPTCHAを解決するのを待つ
time.sleep(30)

# CAPTCHAトークンはすでに挿入されているので送信
response.contact_form.submit_button.click()

例2: Cloudflare Turnstileのログインページ

python Copy
page.goto("https://example.com/login")

# CapSolverがTurnstileチャレンジを解決するのを待つ
time.sleep(25)

# AgentQLでログインフォームの要素を検索
response = page.query_elements("""
{
    login_form {
        email_input
        password_input
        login_button
    }
}
""")

# フォームを入力—Turnstileはすでに処理されています
response.login_form.email_input.fill("me@example.com")
response.login_form.password_input.fill("mypassword123")

# ログインをクリック
response.login_form.login_button.click()

例3: 保護されたページからのデータ抽出

python Copy
page.goto("https://example.com/data")

# あらゆるCAPTCHAチャレンジが解除されるのを待つ
time.sleep(30)

# AgentQLで構造化されたデータを抽出
data = page.query_data("""
{
    products[] {
        name
        price
        rating
        availability
    }
}
""")

for product in data['products']:
    print(f"{product['name']}: ${product['price']} ({product['rating']} stars)")

推奨の待機時間

CAPTCHAタイプ 通常の解決時間 推奨の待機時間
reCAPTCHA v2(チェックボックス) 5-15秒 30-60秒
reCAPTCHA v2(非表示) 5-15秒 30秒
reCAPTCHA v3 3-10秒 20-30秒
Cloudflare Turnstile 3-10秒 20-30秒

ヒント: 不確実な場合は30秒を使用してください。早すぎる送信よりも少し長く待つほうが良いです。余分な時間は結果に影響しません。

背後でどう動作するか

AgentQLがCapSolver拡張機能をロードして実行するときの仕組みは次の通りです:

Copy
あなたのAgentQLスクリプト
───────────────────────────────────────────────────
page.goto("https://...")       ──► Chromiumがページを読み込む
                                           │
                                           ▼
                               ┌─────────────────────────────┐
                               │  CAPTCHAウィジェットのあるページ     │
                               │                               │
                               │  CapSolver拡張機能:         │
                               │  1. コンテンツスクリプトがページ上のCAPTCHAを検出 │
                               │  2. サービスワーカーがCapSolver APIを呼び出す │
                               │  3. トークンが受信される        │
                               │  4. トークンが隠しフォームフィールドに挿入される │
                               └─────────────────────────────┘
                                           │
                                           ▼
time.sleep(30)                   拡張機能がCAPTCHAを解決...
                                           │
                                           ▼
page.query_elements(...)         AgentQLがフォーム要素を検出
submit_button.click()            フォームが有効なトークンで送信
                                           │
                                           ▼
                               "検証に成功しました!"

拡張機能のロード方法

Playwrightが--load-extensionフラグでChromiumを起動すると:

  1. ChromiumはCapSolver拡張機能をロードして起動します
  2. 拡張機能がアクティブになります—サービスワーカーが開始され、すべてのページにコンテンツスクリプトが挿入されます
  3. CAPTCHAのあるページでは、コンテンツスクリプトがウィジェットを検出し、CapSolver APIを呼び出し、解決トークンをページに挿入します
  4. AgentQLは通常通り動作します—クエリ、クリック、データ抽出は通常通り行われ、CAPTCHAはすでに処理されています

完全な構成リファレンス

AgentQL + CapSolver統合のすべての構成オプションを含む完全なPython設定例です:

python Copy
import agentql
from playwright.sync_api import sync_playwright
import os

# 設定
CAPSOLVER_EXTENSION_PATH = os.path.expanduser("~/capsolver-extension")
USER_DATA_DIR = "./browser-data"

with sync_playwright() as p:
    context = p.chromium.launch_persistent_context(
        user_data_dir=USER_DATA_DIR,
        headless=False,
        args=[
            f"--disable-extensions-except={CAPSOLVER_EXTENSION_PATH}",
            f"--load-extension={CAPSOLVER_EXTENSION_PATH}",
        ],
    )
    page = agentql.wrap(context.pages[0])
    # ... あなたの自動化コードここに
    context.close()

設定オプション

オプション 説明
user_data_dir ブラウザプロファイルデータ(クッキー、セッション)を保存するディレクトリ。永続的なコンテキストに必須です。
headless False でなければなりません—Chrome拡張機能はヘッドレスモードでは動作しません。
--disable-extensions-except どの拡張機能がロードされるかを制限(競合を防ぐため)。
--load-extension UnpackedされたCapSolver拡張機能のディレクトリへのパス。
CAPSOLVER_EXTENSION_PATH manifest.jsonを含む抽出されたCapSolver拡張機能のフルパス。

CapSolverのAPIキーは、拡張機能のassets/config.jsファイルに直接設定されます(上記のステップ3を参照)。

TinyFishブラウザでCapSolverを使用する方法

上記の内容は、ローカルで実行されているChromiumで永続的なPlaywrightコンテキストを使用していることを前提としています。これにより、CapSolver拡張機能をロードできます。しかし、すべての設定がこのようなコントロールを提供するわけではありません。あなたの自動化がTinyFishブラウザのリモートでオンデマンドのブラウザセッションサービスを使用している場合、Chromiumプロセスを直接管理することはできず、同じようにアンパッケージされた拡張機能をロードすることはできません。

このようなシナリオでは、CapSolverはAPIを介して統合できます。これは、スクリプト内で直接実行される「従来の」コードベースのアプローチです。TinyFishブラウザからリモートブラウザセッションをリクエストし、Playwrightを介してCDPで接続し、CapSolver SDKを使用してCAPTCHAを解決し、ページに結果のトークンを直接インジェクトします。これは、拡張機能をブラウザインスタンスにロードできない場合に適した方法です。

開始する前に、CapSolver SDKをインストールしてください:

bash Copy
pip install capsolver

以下のコードは、TinyFishブラウザセッション内でreCAPTCHAを解決する方法を示しています:

python Copy
import time
import requests
import capsolver
from playwright.sync_api import sync_playwright


TINYFISH_API_KEY = "YOUR TINYFISH API KEY"
capsolver.api_key = "YOUR CAPSOLVER API KEY"


website_url = "https://www.google.com/recaptcha/api2/demo"
website_key = "6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-"
captcha_type = "ReCaptchaV2TaskProxyLess"


def create_tinyfish_browser(url):
    resp = requests.post(
        "https://api.browser.tinyfish.ai",
        headers={
            "X-API-Key": TINYFISH_API_KEY,
            "Content-Type": "application/json",
        },
        json={
            "url": url,
            "timeout_seconds": 300,
        },
        timeout=90,
    )
    resp.raise_for_status()
    return resp.json()


def close_tinyfish_browser(session_id):
    try:
        requests.delete(
            f"https://api.browser.tinyfish.ai/{session_id}",
            headers={"X-API-Key": TINYFISH_API_KEY},
            timeout=30,
        )
    except Exception as exc:
        print("   TinyFishブラウザセッションを閉じられませんでした:", repr(exc))


def solve_recaptcha_v2():
    print("3. CapSolverでreCAPTCHAを解決中")
    solution = capsolver.solve({
        "type": captcha_type,
        "websiteURL": website_url,
        "websiteKey": website_key,
    })

    token = solution.get("gRecaptchaResponse")
    if not token:
        raise RuntimeError(f"CapSolverからreCAPTCHAトークンが返却されませんでした: {solution}")

    print("   CapSolverタスクが解決されました:", token)
    return token


def inject_recaptcha_token(page, token):
    page.evaluate(
        """
        (token) => {
            const textarea = document.getElementById('g-recaptcha-response');
            if (textarea) {
                textarea.value = token;
            }
        }
        """,
        token,
    )
    print("   CapSolverトークンがインジェクトされました")
    page.click('input[type="submit"]')
    print("   送信ボタンがクリックされました")


def main():
    session_id = None
    try:
        print("1. TinyFishブラウザセッションの作成")
        session = create_tinyfish_browser(website_url)

        session_id = session["session_id"]
        cdp_url = session["cdp_url"]
        print("   TinyFishセッションID:", session_id)
        print("   TinyFish CDP URL:", cdp_url)

        with sync_playwright() as p:
            print("2. CDPを介してTinyFishブラウザに接続中")
            browser = p.chromium.connect_over_cdp(cdp_url)
            context = browser.contexts[0]
            page = context.pages[0] if context.pages else context.new_page()
            page.wait_for_load_state("domcontentloaded", timeout=60000)
            print("   現在のページURL:", page.url)

            token = solve_recaptcha_v2()

            print("4. CapSolverトークンのインジェクト")
            inject_recaptcha_token(page, token)

            page.wait_for_load_state("domcontentloaded", timeout=30000)
            time.sleep(3)

            body_text = page.locator("body").inner_text(timeout=10000)
            print("5. ページの結果:", " ".join(body_text.split()))

            print("6. ブラウザセッションの終了")
            browser.close()
    finally:
        if session_id:
            close_tinyfish_browser(session_id)


if __name__ == "__main__":
    main()

あなたの設定に合ったアプローチを選択してください — ローカルで永続的なPlaywrightコンテキストにCapSolver拡張機能をロードするか、リモートのTinyFishブラウザセッションに対してCapSolver APIを直接呼び出すか — どちらの方法でも最終的な目的は同じです。AgentQLの自動化は、独自のCAPTCHA処理ロジックを持つ必要はありません。

問題解決

拡張機能がロードされない

症状: CAPTCHAが自動的に解決されない。

原因: 通常のブラウザコンテキストを使用しているか、ヘッドレスモードで実行している可能性があります。

解決策: Playwrightで拡張機能を使用するには、永続的なコンテキストヘッドモードが必要です:

python Copy
# ✅ 正しい — 永続的なコンテキスト、ヘッドモード
context = p.chromium.launch_persistent_context(
    user_data_dir="./browser-data",
    headless=False,
    args=[...拡張機能引数...]
)

# ❌ 間違っている — 通常のコンテキスト(拡張機能はロードされない)
browser = p.chromium.launch()
context = browser.new_context()

CAPTCHAが解決されない(フォームが失敗)

可能性のある原因:

  • 待機時間が十分でない — 60秒に増やす
  • 無効なAPIキー — CapSolverダッシュボードを確認
  • 残高が不足している — CapSolverアカウントに残高を追加
  • 拡張機能がロードされていない — 上記の「拡張機能がロードされない」を参照

ヘッドレスモードはサポートされていない

症状: スクリプトは実行されるが、拡張機能が表示されない。

原因: Chrome拡張機能はヘッドレスモードで動作しません。

解決策: サーバーで仮想ディスプレイを使用してヘッドモードで実行してください:

bash Copy
# Xvfbのインストール
sudo apt-get install xvfb

# 仮想ディスプレイの起動
Xvfb :99 -screen 0 1280x720x24 &

# DISPLAYの設定
export DISPLAY=:99

Google Chrome 137+との互換性

症状: 拡張機能フラグが無視される。

原因: Google Chrome 137以降では、ブランドドビルドで--load-extensionがサポートされなくなりました。

解決策: PlaywrightのバンドルされたChromium(推奨)またはChrome for Testingを使用してください:

bash Copy
# 推奨のPlaywright Chromiumのインストール
npx playwright install chromium

# またはChrome for Testingをダウンロード
# 以下を参照: https://googlechromelabs.github.io/chrome-for-testing/

最適な実践方法

  1. 常に十分な待機時間を設定してください。 より長い待機時間は常に安全です。CAPTCHAは通常5〜20秒で解決されますが、ネットワーク遅延、複雑なチャレンジ、またはリトライにより時間がかかることがあります。30〜60秒が最適です。
  2. 自動化スクリプトをシンプルに保つ。 AgentQLクエリにCAPTCHA固有のロジックを追加しないでください。拡張機能がすべてを処理します。あなたのコードはデータ抽出とインタラクションに焦点を当ててください。
  3. CapSolverの残高を監視してください。 各CAPTCHA解決にはクレジットが必要です。capsolver.com/dashboardで定期的に残高を確認してください。
  4. 永続的なコンテキストを一貫して使用してください。 拡張機能が必要な場合、常にlaunch_persistent_context()を使用してください。これにより、クッキーとセッションデータが実行間で保持され、CAPTCHAの頻度が減少します。
  5. ヘッドレスサーバーでXvfbを使用してください。 Chrome拡張機能にはディスプレイコンテキストが必要です。物理的なディスプレイが利用できないサーバー環境では、Xvfbを設定してください。
  6. 環境に応じて統合方法を一致させます。 Chromiumプロセスを直接制御し、永続的なコンテキストを起動できる場合は、拡張機能ベースのアプローチを使用してください。一方、Chromeを直接起動できないリモートのTinyFishブラウザセッションを使用する場合は、CapSolver SDKを介してAPIベースのアプローチを使用してください。

結論

TinyFish AgentQL + CapSolverの統合により、利用可能な最も強力なウェブ自動化ツールキットに非表示のCAPTCHA解決をもたらします。複雑なCAPTCHA処理コードを書く必要はありません。単に:

  1. CapSolver拡張機能をダウンロードし、APIキーを設定
  2. AgentQLのPlaywrightブラウザを、永続的なコンテキストを介して拡張機能をロードして起動
  3. 通常通り自動化スクリプトを記述 — フォームの送信前に待機時間を追加

CapSolver Chrome拡張機能が残りの処理をすべて行います — CAPTCHAの検出、CapSolver APIを介した解決、およびページへのトークンのインジェクト。AgentQLスクリプトはCAPTCHAについて一切知らなくても構いません。

そして、自動化がリモートセッション(例: TinyFishブラウザ)で実行される場合、CapSolverのAPIとSDKを使用して、CDP経由でセッションに接続し、解決し、インジェクトすることで、同じ結果を得られます。これは、AI駆動のウェブ自動化とAI駆動のCAPTCHA解決を組み合わせたCAPTCHA解決の姿です:非表示、自動的、コードフリーです。

準備ができましたか? CapSolverに登録し、初回のチャージで6%のボーナスを獲得するには、バーコードAGENTQLを使用してください!

バーコード

よくある質問

AgentQLスクリプトにCAPTCHA固有のコードを記述する必要がありますか?

いいえ。CapSolver拡張機能はPlaywrightブラウザコンテキスト内で背景で動作します。フォームの送信前にtime.sleep()またはwaitForTimeout()を追加するだけで、拡張機能が自動的に検出、解決、トークンのインジェクトを処理します。

永続的なコンテキストが必要な理由は?

Playwrightでは、launch_persistent_context()を使用する場合にのみChrome拡張機能がサポートされます。これはPlaywrightのアーキテクチャの要件です。browser.new_context()で作成された通常のブラウザコンテキストは拡張機能をロードできません。

ヘッドレスモードで実行できますか?

いいえ。Chrome拡張機能はヘッドモードのブラウザが必要です。ディスプレイが利用できないサーバー環境では、Xvfb(X Virtual Framebuffer)を使用して仮想ディスプレイを設定してください。

自分のローカルChromiumではなく、リモートのTinyFishブラウザセッションを使用している場合どうすればいいですか?

直接ブラウザの起動を制御できないため、TinyFishブラウザセッションにCapSolver拡張機能をロードすることはできません。代わりに、CDP経由で接続した後、page.evaluate()を介して結果のトークンをインジェクトするCapSolver SDKを使用してください。これは上記の「TinyFishブラウザでCapSolverを使用する方法」セクションで示されています。

CapSolverがサポートするCAPTCHAの種類は?

CapSolverはreCAPTCHA v2(チェックボックスおよび非表示)、reCAPTCHA v3、Cloudflare Turnstile、AWS WAF CAPTCHAなどに対応しています。拡張機能は自動的にCAPTCHAの種類を検出し、それに応じて解決します。

CapSolverの料金はどのくらいですか?

CapSolverはCAPTCHAの種類とボリュームに基づいて競争力のある料金を提供しています。現在の料金はcapsolver.comをご覧ください。

TinyFish AgentQLは無料ですか?

AgentQLは無料および有料のエディションを提供しています。SDKとクエリ言語は開発およびテスト用に利用可能です。料金の詳細はtinyfish.aiをご覧ください。

CAPTCHAが解決されるまでどのくらい待つべきですか?

ほとんどのCAPTCHAでは、30〜60秒が十分です。実際の解決時間は通常5〜20秒ですが、余分なバッファを追加することで信頼性が向上します。心配な場合は、30秒を使用してください。

コンプライアンス免責事項: このブログで提供される情報は、情報提供のみを目的としています。CapSolverは、すべての適用される法律および規制の遵守に努めています。CapSolverネットワークの不法、詐欺、または悪用の目的での使用は厳格に禁止され、調査されます。私たちのキャプチャ解決ソリューションは、公共データのクローリング中にキャプチャの問題を解決する際に100%のコンプライアンスを確保しながら、ユーザーエクスペリエンスを向上させます。私たちは、サービスの責任ある使用を奨励します。詳細については、サービス利用規約およびプライバシーポリシーをご覧ください。

もっと見る

TinyFish AgentQでキャプチャを解く
TinyFish AgentQLを使ってCAPTCHAを解決する方法 – CapSolverを使用したステップバイステップガイド

CapSolverをTinyFish AgentQLに統合する方法を学び、reCAPTCHAやCloudflare TurnstileなどのCAPTCHAを自動的に解決する方法を学びましょう。PythonとJavaScript SDKの例を含むステップバイステップのチュートリアルで、シームレスなAI駆動のウェブ自動化を実現します。

ai
Logo of CapSolver

Sora Fujimoto

05-Aug-2026

ラマインデックスのエージェントでキャプチャをどうやって解決するか
LlamaIndexエージェントにおけるCAPTCHAの解決方法

CAPTCHAの解決をLlamaIndexエージェントにFunctionToolとCapSolverを使用してウェブデータのインジェストパイプラインに統合する。

ai
Logo of CapSolver

Sora Fujimoto

31-Jul-2026

CAPTCHAをMCP CapSolverサービスで解決する方法
MCPを使用したCAPTCHAの解き方: キャプソルバー モデル コンテキスト プロトコル サービス

Claude Desktop、Cursor、および任意のMCPクライアントでゼロコードでCAPTCHAを解くためのCapSolver MCPサービスを設定してください。

ai
Logo of CapSolver

Sora Fujimoto

31-Jul-2026

OpenAI Agents SDKにおけるreCAPTCHA v3の解き方
reCAPTCHA v3をOpenAIエージェントSDKで解く方法

OpenAI Agents SDKで、CapSolverのfunction_toolを使用して、高スコアのreCAPTCHA v3トークンを生成します。

ai
Logo of CapSolver

Sora Fujimoto

30-Jul-2026

クラウドフレアトゥルニスティールを解決する方法 クリューAIエージェントで
Cloudflare Turnstile の解決方法: CrewAI エージェントでの

CrewAIのマルチエージェントワークフローにCloudflare Turnstileの解決を統合し、CapSolverを用いて行います。

ai
Logo of CapSolver

Sora Fujimoto

30-Jul-2026

CAPTCHAを解く方法: AutoGen AIエージェントでCapSolverを使う
CAPTCHAを解決する方法: AutoGenエージェント

Microsoft AutoGenのマルチエージェント会話にCAPTCHAの解決を統合する完全なガイド – register_functionとグループチャットのパターンを使用してCapSolverで

ai
Logo of CapSolver

Sora Fujimoto

29-Jul-2026