RoxyBrowserでCAPTCHAを解決する方法(CapSolverの統合)

Sora Fujimoto
AI Solutions Architect
04-Feb-2026

RoxyBrowserはAPI呼び出しを通じてブラウザ機能を提供し、Selenium、Puppeteer、Playwrightなどの自動化フレームワークと統合できます。そのAPIは、実際のブラウザプロファイルをプログラムで開き、自動化ツールを接続できるように設計されています。APIには、エンドポイントごとに1分間に100回の呼び出しというドキュメント化されたレートリミットがあります。
ソース: https://faq.roxybrowser.org/en/guide/10-API
CapSolverは、ページにキャプチャトークンを挿入できるキャプチャトークンを返す「作成およびポーリング」APIフローを提供しています。CapSolverは以下のキャプチャタイプをサポートしています:
- reCAPTCHA v2: タスクタイプ
ReCaptchaV2TaskProxyLess、返却値gRecaptchaResponse - reCAPTCHA v3: タスクタイプ
ReCaptchaV3TaskProxyLess、スコア付きのgRecaptchaResponse - Cloudflare Turnstile: タスクタイプ
AntiTurnstileTaskProxyLess、返却値tokenドキュメントを確認
このガイドでは、フレームワークに依存しない実践的なフローを示します。API経由でRoxyプロファイルを開き、自動化フレームワークを接続し、CapSolverでキャプチャを解決し、トークンを挿入して処理を継続します。
RoxyBrowserとは?
RoxyBrowserは、マルチアカウント用のアンチデテクトブラウザで、API自動化やマルチウィンドウ同期機能を備えています。
自動化において、APIが最も関連性のある要素です:
-
Selenium、Puppeteer、Playwrightの統合をサポートしています。
-
リクエストには
tokenヘッダーを含める必要があります。 -
デフォルトのAPIホストは
http://127.0.0.1:50000です(ポート変更には再起動が必要です)。
CapSolverとは?
CapSolverは2つのAPI呼び出しを通じてキャプチャを解決します:
createTaskでキャプチャパラメータを送信getTaskResultでトークンが準備できるまでポーリング
reCAPTCHA v2の場合、CapSolverは gRecaptchaResponse を返します。
getTaskResult は1つのタスクに対して120回のクエリに制限されており、タスク作成から5分以内に呼び出さなければなりません。
RoxyBrowser API設定
1) APIを有効化し、トークンを取得
- RoxyBrowserを開き、APIを選択します。
- APIスイッチを有効に設定します。
- APIキー(トークン)をコピーし、ホスト/ポートを確認します。
デフォルトではホストは http://127.0.0.1:50000 です。ポートを変更した場合、RoxyBrowserを再起動する必要があります。
2) ワークスペースとプロファイルIDを取得
/browser/workspace を使用してワークスペースを取得し、/browser/list_v3 でプロファイルを一覧表示します。
python
import requests
BASE = "http://127.0.0.1:50000"
HEADERS = {"token": "YOUR_ROXY_API_KEY"}
workspaces = requests.get(f"{BASE}/browser/workspace", headers=HEADERS).json()
workspace_id = workspaces["data"]["rows"][0]["id"]
profiles = requests.get(
f"{BASE}/browser/list_v3",
params={"workspaceId": workspace_id},
headers=HEADERS
).json()
dir_id = profiles["data"]["rows"][0]["dirId"]
3) プロファイルを開き、自動化エンドポイントを取得
/browser/open を呼び出します。応答には以下が含まれます:
ws: 自動化ツール用のWebSocketインターフェースhttp: 自動化ツール用のHTTPインターフェースdriver: Selenium統合用のWebDriverパス
ヘッドレスモードはサポートされていません。
python
open_resp = requests.post(
f"{BASE}/browser/open",
json={"workspaceId": workspace_id, "dirId": dir_id, "args": []},
headers=HEADERS
).json()
ws_endpoint = open_resp["data"]["ws"]
http_endpoint = open_resp["data"]["http"]
driver_path = open_resp["data"]["driver"]
4) 自動化フレームワークを接続
返されたエンドポイントを使用してフレームワークを接続します:
- Puppeteer/PlaywrightはDevTools WebSocketまたはHTTPエンドポイントに接続できます。
- Seleniumはデバッガー接続で
driverパスを使用できます。
正確な接続手順はフレームワークに依存しますが、ws、http、driverの値は自動化ツールに明示的に提供されます。
CapSolverヘルパー(Python)
python
import time
import requests
CAPSOLVER_API_KEY = "YOUR_CAPSOLVER_API_KEY"
CAPSOLVER_BASE = "https://api.capsolver.com"
def create_task(task):
payload = {"clientKey": CAPSOLVER_API_KEY, "task": task}
r = requests.post(f"{CAPSOLVER_BASE}/createTask", json=payload)
data = r.json()
if data.get("errorId", 0) != 0:
raise RuntimeError(data.get("errorDescription", "CapSolver error"))
return data["taskId"]
def get_task_result(task_id, delay=2):
while True:
time.sleep(delay)
r = requests.post(
f"{CAPSOLVER_BASE}/getTaskResult",
json={"clientKey": CAPSOLVER_API_KEY, "taskId": task_id}
)
data = r.json()
if data.get("status") == "ready":
return data["solution"]
if data.get("status") == "failed":
raise RuntimeError(data.get("errorDescription", "Task failed"))
def solve_recaptcha_v2(website_url, website_key):
task = {
"type": "ReCaptchaV2TaskProxyLess",
"websiteURL": website_url,
"websiteKey": website_key
}
task_id = create_task(task)
solution = get_task_result(task_id)
return solution.get("gRecaptchaResponse", "")
def solve_recaptcha_v3(website_url, website_key, page_action="verify"):
task = {
"type": "ReCaptchaV3TaskProxyLess",
"websiteURL": website_url,
"websiteKey": website_key,
"pageAction": page_action
}
task_id = create_task(task)
solution = get_task_result(task_id)
return solution.get("gRecaptchaResponse", "")
def solve_turnstile(website_url, website_key, action=None, cdata=None):
task = {
"type": "AntiTurnstileTaskProxyLess",
"websiteURL": website_url,
"websiteKey": website_key
}
# 提供された場合、オプショナルなメタデータを追加
if action or cdata:
task["metadata"] = {}
if action:
task["metadata"]["action"] = action
if cdata:
task["metadata"]["cdata"] = cdata
task_id = create_task(task)
solution = get_task_result(task_id)
return solution.get("token", "")
参考資料:
エンドツーエンドフロー: reCAPTCHA v2
-
API経由でRoxyプロファイルを開き、自動化フレームワークを接続します。
-
ターゲットページに移動し、サイトキーを抽出します。
例:javascriptconst siteKey = document.querySelector(".g-recaptcha")?.getAttribute("data-sitekey"); -
CapSolverで解決します。
-
トークンを挿入し、フォームを送信します:
javascriptconst token = "CAPSOLVER_TOKEN"; const el = document.getElementById("g-recaptcha-response"); el.style.display = "block"; el.value = token; el.dispatchEvent(new Event("input", { bubbles: true })); el.dispatchEvent(new Event("change", { bubbles: true }));
エンドツーエンドフロー: reCAPTCHA v3
reCAPTCHA v3は背景で動作し、ユーザーの操作を必要とせずスコア(0.0〜1.0)を返します。
-
サイトキーとアクションをページから抽出します:
javascript// サイトキーは通常スクリプトまたはメタタグに含まれます const siteKey = document.querySelector('[data-sitekey]')?.getAttribute('data-sitekey'); // アクションはgrecaptcha.execute呼び出しで見つかります // ページソースで: grecaptcha.execute('KEY', {action: 'ACTION'}) を検索 const pageAction = "submit"; // または "login", "register"など -
CapSolverで解決:
pythontoken = solve_recaptcha_v3( website_url="https://example.com/login", website_key="6LcxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxAA", page_action="login" ) -
トークンを挿入(v2と同じ方法):
javascriptconst token = "CAPSOLVER_TOKEN"; document.getElementById("g-recaptcha-response").value = token; // コールバックがある場合、それをトリガー if (typeof ___grecaptcha_cfg !== 'undefined') { const clients = ___grecaptcha_cfg.clients; Object.keys(clients).forEach(key => { if (clients[key].callback) { clients[key].callback(token); } }); }
エンドツーエンドフロー: Cloudflare Turnstile
Cloudflare Turnstileは、解決が速く(1〜20秒)の現代的なキャプチャ代替手段です。
-
Turnstileサイトキーを抽出:
javascriptconst siteKey = document.querySelector('.cf-turnstile')?.getAttribute('data-sitekey'); // オプション: ある場合、actionとcdataを抽出 const action = document.querySelector('.cf-turnstile')?.getAttribute('data-action'); const cdata = document.querySelector('.cf-turnstile')?.getAttribute('data-cdata'); -
CapSolverで解決:
pythontoken = solve_turnstile( website_url="https://example.com", website_key="0x4AAAAAAAxxxxxxxxxxxxxxx", action=action, // オプション cdata=cdata // オプション ) -
Turnstileトークンを挿入:
javascriptconst token = "CAPSOLVER_TURNSTILE_TOKEN"; // Turnstile応答入力を検索 const input = document.querySelector('input[name="cf-turnstile-response"]'); if (input) { input.value = token; input.dispatchEvent(new Event('input', { bubbles: true })); input.dispatchEvent(new Event('change', { bubbles: true })); } // 代替: 一部のサイトでは別の入力名を使用 const altInput = document.querySelector('input[name="turnstile-response"]'); if (altInput) { altInput.value = token; }
最適な実践方法
- RoxyBrowserのAPIレートリミットを尊重してください: エンドポイントごとに1分間に100回の呼び出し。
- CapSolverの
getTaskResultは5分以内に120回のポーリングに制限されています。 - トークンが拒否された場合、リトライロジックとバックオフを使用してください。
- ターゲットサイトがトークンのオリジンを検証する場合、ソルバーのIPとブラウジングのIPを一貫させてください。
始める準備はできましたか? CapSolverに登録し、初回チャージで6%のボーナスを追加するためのボーナスコード ROXYBROWSER を使用してください!

FAQ
-
RoxyBrowserはSelenium、Puppeteer、Playwrightをサポートしていますか?
はい。APIはこれらのフレームワークとの統合を目的として設計されています。 -
APIトークンとホストはどこで取得できますか?
RoxyBrowserのAPI -> API設定から取得できます。デフォルトホストはhttp://127.0.0.1:50000です。 -
/browser/openはどのような値を返しますか?
自動化ツールで使用されるws、http、driverフィールドを返します。 -
ヘッドレスモードはサポートされていますか?
いいえ、ヘッドレスモードはサポートされていません。 -
CapSolverはどのキャプチャタイプをサポートしていますか?
-
CapSolverはreCAPTCHA v2トークンをどのように返しますか?
ReCaptchaV2TaskProxyLessでタスクを作成し、getTaskResultをポーリングしてgRecaptchaResponseを取得します。 -
reCAPTCHA v3はv2とどのように異なりますか?](https://www.capsolver.com/blog/reCAPTCHA/extra-parameters-recaptcha)
reCAPTCHA v3はユーザーの操作なしで背景で動作し、スコア(0.0-1.0)を返します。pageActionパラメータが必要で、これはページソース内のgrecaptcha.executeを検索することで見つかります。 -
Cloudflare Turnstileをどのように解決しますか?](https://www.capsolver.com/blog/Cloudflare/solver-cloudflare-challenge-turnstile-2024)
websiteURLとwebsiteKeyでAntiTurnstileTaskProxyLessタスクを使用します。ウィジェットにmetadata.actionとmetadata.cdataが存在する場合、オプションで追加してください。Turnstileは1〜20秒で解決します。
追加資料: -
Turnstileサイトキーをどのように見つけることができますか?
.cf-turnstile要素のdata-sitekey属性を検索してください。Turnstileサイトキーは0x4で始まります。 -
CapSolverにプロキシが必要ですか?
いいえ、*ProxyLessタスクタイプはCapSolverの内部プロキシインフラストラクチャを使用します。独自のプロキシを使用する場合は、非ProxyLessバージョンを使用してください。
結論
RoxyBrowserは自動化エンドポイントを備えたプロファイルベースのブラウザ環境を提供し、CapSolverはプログラムでキャプチャトークンを提供します。Roxyプロファイルを開き、フレームワークを接続し、CapSolverトークンを挿入することで、信頼性の高いキャプチャ対応の自動化フローを構築できます。
コンプライアンス免責事項: このブログで提供される情報は、情報提供のみを目的としています。CapSolverは、すべての適用される法律および規制の遵守に努めています。CapSolverネットワークの不法、詐欺、または悪用の目的での使用は厳格に禁止され、調査されます。私たちのキャプチャ解決ソリューションは、公共データのクローリング中にキャプチャの問題を解決する際に100%のコンプライアンスを確保しながら、ユーザーエクスペリエンスを向上させます。私たちは、サービスの責任ある使用を奨励します。詳細については、サービス利用規約およびプライバシーポリシーをご覧ください。
もっと見る

RoxyBrowserでCAPTCHAを解決する方法(CapSolverの統合)
CapSolverをRoxyBrowserと統合して、ブラウザのタスクを自動化し、reCAPTCHA、Turnstile、その他のCAPTCHAを回避します。

Sora Fujimoto
04-Feb-2026

EasySpiderでCapSolverインテグレーションを使用してCaptchaを解く方法
EasySpiderはビジュアルでノーコードのウェブスクリーピングおよびブラウザ自動化ツールであり、CapSolverと組み合わせることで、reCAPTCHA v2やCloudflare TurnstileなどのCAPTCHAを信頼性高く解決できるため、ウェブサイト間でのシームレスな自動データ抽出を可能にします。

Sora Fujimoto
04-Feb-2026

Relevance AIにおけるreCAPTCHA v2のカプソルバー統合による解決方法
Relevance AIツールを構築し、リカプチャv2を解決するためCapSolverを使用します。APIを介してブラウザの自動化なしでフォームの送信を自動化します。

Sora Fujimoto
03-Feb-2026

即時データスカッパーのツール:コードなしでウェブデータを高速に抽出する方法
2026年用の最高のインスタントデータスラッパーのツールを発見してください。コードなしでウェブデータを迅速に抽出する方法を学びましょう。自動抽出用の最高の拡張機能とAPIを使用して。

Nikolai Smirnov
28-Jan-2026

2026年のIPブロック:仕組みと実用的な回避方法
2026年においてIPブロックを回避する方法を、当社の包括的なガイドを通じて学びましょう。現代のIPブロック技術や住宅プロキシーやCAPTCHAソルバーなどの実用的な解決策を発見してください。

Sora Fujimoto
26-Jan-2026

ウェブスクレイピング in Node.js: ノードアンブロッカーとキャップソルバーを使用して
Node.jsでウェブスクレイピングをマスターし、Node Unblockerで制限を回避し、CapSolverでCAPTCHAを解決する。このガイドは、効率的で信頼性のあるデータ抽出のための高度な戦略を提供します。

Ethan Collins
26-Jan-2026

