TinyFish AgentQLでCAPTCHAを解く方法 – CapSolverを使用したステップバイステップガイド

Sora Fujimoto
AI Solutions Architect
19-Mar-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セレクターやXPathは必要ありません。
主な特徴
- AI駆動のクエリ言語: ページの内容に基づいて要素を直感的に見つけます。UIの変更に伴ってクエリは自己修復します。
- Playwright統合: PythonとJavaScriptのSDKがPlaywrightとシームレスに統合され、高度なブラウザオートメーションが可能になります。
- 構造化されたデータ抽出: 出力の形状を定義し、あらゆるページ(公開または非公開、静的または動的)からクリーンで構造化されたデータを取得できます。
- REST API: SDKなしでクエリを実行できます。RESTエンドポイントを使用します。
- ブラウザデバッガー: 実時間でクエリをテストおよび調整するための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
pip install agentql
playwright install chromium
JavaScript SDK:
bash
npm install agentql
npx playwright install chromium
ステップ2: CapSolver Chrome拡張機能をダウンロード
CapSolver Chrome拡張機能をダウンロードし、専用のディレクトリに抽出します:
- CapSolver Chrome拡張機能 v1.17.0リリースに移動します
CapSolver.Browser.Extension-chrome-v1.17.0.zipをダウンロードします- zipを抽出します:
bash
mkdir -p ~/capsolver-extension
unzip CapSolver.Browser.Extension-chrome-v*.zip -d ~/capsolver-extension/
- 抽出が成功したか確認します:
bash
ls ~/capsolver-extension/manifest.json
manifest.jsonが表示されるはずです—これで拡張機能が正しい場所にあることが確認できます。
ステップ3: CapSolver APIキーを構成
~/capsolver-extension/assets/config.jsの拡張機能設定ファイルを開き、apiKeyの値を自分のものに置き換えます:
javascript
export const defaultConfig = {
apiKey: 'CAP-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX', // ← ここにあなたのキーを入力
useCapsolver: true,
// ... その他の設定
};
あなたのAPIキーはCapSolverダッシュボードから取得できます。
ステップ4: CapSolver拡張機能でAgentQLを起動する
重要なステップは、永続的なコンテキストでCapSolver拡張機能をロードするPlaywrightのChromiumを起動することです。
Python例:
python
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
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拡張機能がリストに表示され、有効になっていることを確認してください。
または、ブラウザコンソールでCapSolverのログメッセージをチェックして、サービスワーカーが実行されていることを確認できます。
使用方法
セットアップが完了したら、AgentQLとCapSolverの使用は簡単です。
ゴールデンルール
CAPTCHA固有のコードを書かないでください。 CAPTCHA保護されたフォームとやり取りする前に、待機時間を追加し、拡張機能に仕事を任せます。
例1: reCAPTCHAの裏側にあるフォーム送信
python
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
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
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拡張機能をロードして実行するときの仕組みは次の通りです:
あなたの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を起動するとき:
- ChromiumがCapSolver拡張機能をロードして起動します
- 拡張機能がアクティブになります—サービスワーカーが起動し、すべてのページにコンテンツスクリプトがインジェクトされます
- CAPTCHAのあるページでは、コンテンツスクリプトがウィジェットを検出し、CapSolver APIを呼び出し、解決トークンをページにインジェクトします
- AgentQLは通常通り動作します—クエリ、クリック、データ抽出は通常通り行われ、CAPTCHAはすでに処理されています
完全な構成リファレンス
AgentQL + CapSolver統合のすべての構成オプションを含む完全なPython設定例:
python
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 |
アンパッケージドなCapSolver拡張機能ディレクトリへのパス。 |
CAPSOLVER_EXTENSION_PATH |
manifest.jsonを含む抽出されたCapSolver拡張機能の完全なパス。 |
CapSolver APIキーは、拡張機能のassets/config.jsファイルに直接設定されます(上記のステップ3を参照)。
トラブルシューティング
拡張機能が読み込まれない
症状: CAPTCHAが自動的に解決されません。
原因: 通常のブラウザコンテキストを使用している可能性があり、またはヘッドレスモードで実行している可能性があります。
解決策: Playwrightの拡張機能はパーソナライズされたコンテキストとヘッド付きモードを必須とします:
python
# ✅ 正しい — パーソナライズされたコンテキスト、ヘッド付き
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
# 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
# PlaywrightのChromiumをインストール(推奨)
npx playwright install chromium
# またはChrome for Testingをダウンロード
# 訪問: https://googlechromelabs.github.io/chrome-for-testing/
最適な実践方法
-
常に十分な待機時間を設定してください。 さらに長い待機時間は常に安全です。CAPTCHAは通常5〜20秒で解決されますが、ネットワーク遅延、複雑なチャレンジ、またはリトライにより時間が追加されることがあります。30〜60秒が最適です。
-
自動化スクリプトをシンプルに保つ。 AgentQLクエリにCAPTCHA固有のロジックを追加しないでください。拡張機能がすべてを処理します — あなたのコードはデータ抽出と操作に焦点を当ててください。
-
CapSolver残高を監視してください。 1つのCAPTCHA解決にはクレジットが使われます。capsolver.com/dashboardで定期的に残高を確認して、中断を防いでください。
-
パーソナライズされたコンテキストを一貫して使用してください。 拡張機能が必要な場合は、常に
launch_persistent_context()で起動してください。これにより、クッキーとセッションデータが実行間で保持され、CAPTCHAの頻度が減少します。 -
ヘッドレスサーバーでXvfbを使用してください。 Chrome拡張機能はディスプレイコンテキストを必要とします。物理的なディスプレイが利用できないサーバー環境では、Xvfbをセットアップしてください。
結論
TinyFish AgentQL + CapSolverの統合により、最も強力なウェブオートメーションツールキットに非表示のCAPTCHA解決をもたらします。複雑なCAPTCHA処理コードを書く代わりに、単に:
- CapSolver拡張機能をダウンロードし、APIキーを設定します
- AgentQLのPlaywrightブラウザを起動し、拡張機能をパーソナライズされたコンテキストで読み込みます
- 通常通り自動化スクリプトを記述します — フォームを送信する前に待機時間を追加します
CapSolver Chrome拡張機能が残りの処理をすべて行います — CAPTCHAの検出、CapSolver APIを通じた解決、およびページへのトークンの挿入。あなたのAgentQLスクリプトはCAPTCHAについて一切知らなくても構いません。
これは、AI駆動のウェブオートメーションとAI駆動のCAPTCHA解決を組み合わせた場合のCAPTCHA解決の姿です:非表示、自動、コードフリー。
さっそく始めたいですか? CapSolverに登録し、初回チャージで6%のボーナスを追加するコードAGENTQLを使用してください!

FAQ
AgentQLスクリプトでCAPTCHA固有のコードを記述する必要がありますか?
いいえ。CapSolver拡張機能はPlaywrightブラウザコンテキスト内でバックグラウンドで動作します。フォームを送信する前にtime.sleep()またはwaitForTimeout()を追加するだけで、拡張機能が自動的に検出、解決、トークンの挿入を処理します。
なぜパーソナライズされたコンテキストが必要ですか?
Playwrightではlaunch_persistent_context()を使用する場合にのみChrome拡張機能がサポートされます。これはPlaywrightのアーキテクチャの要件です。browser.new_context()で作成された通常のブラウザコンテキストでは拡張機能を読み込むことはできません。
ヘッドレスモードで実行できますか?
いいえ。Chrome拡張機能はヘッド付きブラウザを必要とします。ディスプレイが利用できないサーバー環境では、Xvfb(X Virtual Framebuffer)を使用して仮想ディスプレイを設定してください。
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%のコンプライアンスを確保しながら、ユーザーエクスペリエンスを向上させます。私たちは、サービスの責任ある使用を奨励します。詳細については、サービス利用規約およびプライバシーポリシーをご覧ください。
もっと見る

企業自動化の向上:LLMを駆動とするインフラによるシームレスなCAPTCHA認識と運用効率
LLMを駆動するAIオートメーションインフラがCAPTCHA認識をどのように変革するかを発見してください。ビジネスプロセスの効率を向上させ、手動の介入を削減します。高度な検証ソリューションで自動化されたオペレーションを最適化してください。

Sora Fujimoto
30-Mar-2026

LLMトレーニングのためのデータ収集のスケーリング: CAPTCHAをスケールで解く
大規模言語モデルのトレーニングのためのデータ収集をスケールする方法を学びましょう。大規模にCAPTCHAを解くことで、AIモデル用の高品質なデータセットを構築するための自動化された戦略を発見しましょう。

Anh Tuan
27-Mar-2026

CAPTCHAを解決する方法 OpenBrowserで CapSolverを使用して (AIエージェントオートメーションガイド)
OpenBrowserでCAPTCHAを解くためにCapSolverを使用してください。AIエージェント用にreCAPTCHA、Turnstileなど簡単に自動化します。

Sora Fujimoto
26-Mar-2026

HyperBrowserで任意のCAPTCHAを解く方法: CapSolverを使用したフルセットアップガイド
HyperBrowserで任意のCAPTCHAをCapSolverで解決。reCAPTCHA、Turnstile、AWS WAFなども簡単に自動化できます。

Sora Fujimoto
26-Mar-2026

キャプチャの解決: 価格モニタリング用のAIエージェントのためのステップバイステップガイド
CapSolverを使って、価格モニタリング用AIエージェントのCAPTCHAを効果的に解く方法を学びましょう。このステップバイステップガイドは、途切れることのないデータ収集と強化された市場の洞察を保証します。

Sora Fujimoto
24-Mar-2026

NanoClawとCapSolverを使ってCAPTCHAを自動的に解く方法
CapSolverとNanoClawを使用して、reCAPTCHA、Turnstile、AWS WAF、その他のCAPTCHAを自動で解決するためのステップバイステップガイド。Claude AIエージェント、ゼロコード、および複数のブラウザに対応。

Emma Foster
20-Mar-2026

