reCaptchaのコールバック関數の探し方

Sora Fujimoto
AI Solutions Architect
23-Sep-2025
各バージョンのreCaptchaのコールバック関數の探し方

?? すべてのウェブサイトが異なるため、以下の方法で問題が解決しない場合は、
ご自身でさらに調査してください。
APIを通じて正常に認識されたgRecaptchaResponse
値を取得した後、Seleniumなどのシミュレーションソフトウェアを使用している場合、Webページに正常に認識されたことを伝えるためにコールバック関數を実行する必要があります。そこで、この関數の探し方を學びましょう。
注:場合によっては、コールバック関數が存在しないこともあります。その場合は、g-recaptcha-response
コンテナに直接値を代入してフォームを送信できます。
方法1:コンソール要素內を検索
表示されているページを開き、F12キーを押してコンソールを開き、ElementsでCtrl+Fキーを押して検索し、キーワード「data-callback
」を検索します。
ご覧のように、ここのコールバック関數はonSuccess
です。Seleniumでは、この関數を実行するだけです。
見つからない場合は、混亂しているか、その他の狀況が考えられるため、他の方法を試すことができます。
python
driver.execute_script(f'onSuccess("{gRecaptchaResponse}")')

方法2:recaptcha-v3シリーズに適用可能
方法1と同様に、キーワード「grecaptcha.render
」を検索します。
コールバック関數がcallbackである類似のコードを探します。
js
grecaptcha.render('example', {
'sitekey': 'someSitekey',
'callback': myCallbackFunction,
'theme': 'dark'
});
方法3:コンソール內を検索
F12キーを押してコンソールを開き、「___grecaptcha_cfg.clients
」と入力します。エラーが報告された場合は、WebページにreCaptcha
がロードされていません。
通常、多くのノードがあります。違いに注意する必要があります。ここでは、onSuccessが探しているコールバック関數です。
方法4:自動検索機能による検索
上記の方法を実行するのが困難な場合は、自動検索関數を定義して検索してみてください。
F12キーを押してコンソールを開き、以下の自動定義関數findRecaptchaClients()
を入力します。
js
function findRecaptchaClients() {
// eslint-disable-next-line camelcase
if (typeof (___grecaptcha_cfg) !== 'undefined') {
// eslint-disable-next-line camelcase, no-undef
return Object.entries(___grecaptcha_cfg.clients).map(([cid, client]) => {
const data = { id: cid, version: cid >= 10000 ? 'V3' : 'V2' }
const objects = Object.entries(client).filter(([_, value]) => value && typeof value === 'object')
objects.forEach(([toplevelKey, toplevel]) => {
const found = Object.entries(toplevel).find(([_, value]) => (
value && typeof value === 'object' && 'sitekey' in value && 'size' in value
))
if (typeof toplevel === 'object' && toplevel instanceof HTMLElement && toplevel['tagName'] === 'DIV') {
data.pageurl = toplevel.baseURI
}
if (found) {
const [sublevelKey, sublevel] = found
data.sitekey = sublevel.sitekey
const callbackKey = data.version === 'V2' ? 'callback' : 'promise-callback'
const callback = sublevel[callbackKey]
if (!callback) {
data.callback = null
data.function = null
} else {
data.function = callback
const keys = [cid, toplevelKey, sublevelKey, callbackKey].map((key) => `['${key}']`).join('')
data.callback = `___grecaptcha_cfg.clients${keys}`
}
}
})
return data
})
}
return []
}
findRecaptchaClients && findRecaptchaClients()
次に、コンソールでこの関數findRecaptchaClients()
を実行して、対応する関數を探します。
js
[
{
"id": "0",
"version": "V2",
"sitekey": "site key-",
"function": "onSuccess",
"callback": "___grecaptcha_cfg.clients['0']['l']['l']['callback']",
"pageurl": "site url"
}
]
reCaptchaの無名関數の呼び出し方
注:見つかったコールバック関數が、上記で説明したonSuccess
などの関數名である場合、呼び出す際にはonSuccess(gRecaptchaResponse)
と直接記述しますが、無名関數である場合もあります。つまり、関數名がないということです。例:
この種の無名関數の場合、見つけた完全なパスに従って実行するだけで、同じ効果が得られます。例:
js
___grecaptcha_cfg.clients.xxxxxxxxx.xxxxx.xxxxx.callback(gRecaptchaResponse)
例を示しましょう。このウェブサイトを例に、「___grecaptcha_cfg.clients
」を入力して検索を展開すると、ここのコールバック関數promise-callback
が無名関數f(token)
であることがわかります。
右クリックして「プロパティパスのコピー」をクリックして、このノードのパスをコピーできます。
js
[100000].l.l["promise-callback"]("gRecaptchaResponse")
入力したばかりの___grecaptcha_cfg.clients
を追加すると、この関數の完全なパスを取得できます。
js
___grecaptcha_cfg.clients[100000].l.l["promise-callback"]
最後に、上記で説明した実行方法と同じで、通常の関數として実行するだけです。
js
___grecaptcha_cfg.clients[100000].l.l["promise-callback"](gRecaptchaResponse)
Capsolverチーム ?
コンプライアンス免責事項: このブログで提供される情報は、情報提供のみを目的としています。CapSolverは、すべての適用される法律および規制の遵守に努めています。CapSolverネットワークの不法、詐欺、または悪用の目的での使用は厳格に禁止され、調査されます。私たちのキャプチャ解決ソリューションは、公共データのクローリング中にキャプチャの問題を解決する際に100%のコンプライアンスを確保しながら、ユーザーエクスペリエンスを向上させます。私たちは、サービスの責任ある使用を奨勵します。詳細については、サービス利用規約およびプライバシーポリシーをご覧ください。
もっと見る

reCAPTCHA Enterprise v2、v2インビジブル、v3、v3エンタープライズ 0.9スコアのあらゆるバージョンをどう解決するか
CapSolverでreCaptchaのあらゆるバージョンを解くスキルをマスター: このガイドは、reCaptchaを効果的に解決するためのステップバイステップのチュートリアルを提供し、常に正確な結果を実現します。

Sora Fujimoto
11-Oct-2025

reCaptcha v2 インビジブルの解決方法
このブログは、Capsolverを使用してreCaptcha v2の非表示を解決するための包括的なガイドです。必要な情報をCapsolverに提出し、結果を検証するまでのステップバイステップのウォークスルーを提供しています。このブログは、理解しやすく、実行しやすいように設計されており、ウェブサイトでreCaptcha v2の非表示を実装および解決するプロセスを迅速かつ効率的にします。これは独自で拡張されたガイドであり、著作権侵害なしに読者がプロセスを完全に理解できるようにしています。

Nikolai Smirnov
11-Oct-2025

reCaptchaのコールバック関數の探し方
reCAPTCHAのコールバックを見つけるには、reCAPTCHAが正常に解決された後に実行されるJavaScript関數を特定します。手順の概要を以下に示します。

Sora Fujimoto
23-Sep-2025

reCaptcha v2 の解き方
この記事では、reCaptchaとは何か、そしてCapSolverを使ってreCaptcha v2を簡単に解決する方法を説明します。

Nikolai Smirnov
23-Sep-2025

reCaptcha v3を解いて人間らしいスコア(0.7~0.9以上)を得る方法
CapsolverでreCaptcha v3を効果的に解決する方法を学びましょう。このガイドでは、設定からCAPTCHAの解決までを網羅し、高スコアとスムーズなWebナビゲーションを保証します。

Sora Fujimoto
23-Sep-2025

2025年のウェブスクレイピングにおける最適なreCAPTCHA v2およびv3ソルバーは何ですか?
2025年、高度化されたボット対策システムにより、信頼できるreCAPTCHAソルバーを見つけることがデータ抽出成功の鍵となっています。

Sora Fujimoto
17-Jan-2025