यहाँ पर आपके द्वारा प्रस्तुत किए गए दस्तावेज का अनुवाद है:
हर वेबसाइट विभिन्न होती है, इन तरीकों में से कोई भी समस्या को हल नहीं कर सकता है।
कृपया अधिक खोज करें।
API के माध्यम से gRecaptchaResponse
मूल्य को सफलतापूर्वक पहचानने के बाद, यदि आप सिम्युलेशन सॉफ़्टवेयर, जैसे कि सेलेनियम, का उपयोग कर रहे हैं, तो आपको वेब पृष्ठ को बताने के लिए एक कॉलबैक फ़ंक्शन को निष्पादित करने की आवश्यकता है कि हमने सफलता से पहचान ली है, इसलिए चलिए जानते हैं कि इस फ़ंक्शन को कैसे खोजा जा सकता है:
नोट: कुछ मामलों में, वाकई में कोई कॉलबैक फ़ंक्शन नहीं होता है। इस मामले में, आप सीधे मानों को g-recaptcha-response
कंटेनर को मान दें और फ़ॉर्म सबमिट कर सकते हैं।
- मेथड 1: कंसोल एलिमेंट के माध्यम से खोजें
- मेथड 2: reCaptcha V3 श्रृंगारिक है
- मेथड 3: कंसोल के माध्यम से खोजें
- मेथड 4: स्वचालित खोज समीक्षा फ़ंक्शन के माध्यम से खोजें
मेथड 1: कंसोल एलिमेंट के माध्यम से खोजें
प्रदर्शित पृष्ठ को खोलें, F12 दबाएं ताकि कंसोल में जाएं, Elements में Ctrl+F दबाएं ताकि खोज सकें, खोजें
कीवर्ड: data-callback
जैसा कि आप देख सकते हैं, यहाँ पर हमारा कॉलबैक फ़ंक्शन onSuccess
है, और फिर हमें सिर्फ़ सेलेनियम में इस फ़ंक्शन को निष्पादित करना है
अगर आप इसे नहीं मिला सकते हैं, तो यह गलतफहमी या अन्य परिस्थितियों के कारण हो सकता है, आप अन्य तरीकों की कोशिश कर सकते हैं
driver. execute_script(f'onSuccess("{gRecaptchaResponse}")')
मेथड 2: reCaptcha V3 श्रृंगारिक है
मेथड 1 के समान, खोजने के लिए खोज कीवर्ड: grecaptcha.render
सम
ान कोड खोजें, जहां कॉलबैक कॉलबैक फ़ंक्शन है
grecaptcha.render('example', {
'sitekey': 'someSitekey',
'callback': myCallbackFunction,
'theme': 'dark'
});
मेथड 3: कंसोल के माध्यम से खोजें
F12 दबाएं ताकि कंसोल में जाएं, ___grecaptcha_cfg.clients
दर्ज करें, अगर एक त्रुटि दर्ज की जाती है, तो वेब पृष्ठ ने
reCaptcha
लोड नहीं किया है
आमतौर पर कई नोड होते हैं, हमें अंतर का ध्यान देने की आवश्यकता है, यहाँ पर हमारे लिए खोजने का कॉलबैक फ़ंक्शन है
onSuccess
मेथड 4: स्वचालित खोज समीक्षा फ़ंक्शन के माध्यम से खोजें
यदि उपर्युक्त तरीकों को निष्पादित करने में कठिनाई होती है, तो आप स्वचालित खोज समीक्षा फ़ंक्शन को परिभाषित करके खोजने का प्रयास कर सकते हैं
F12 दबाएं ताकि कंसोल में जाएं, और निम्नलिखित स्वचालित परिभाषित फ़ंक्शन findRecaptchaClients()
दर्ज करें
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 and typeof value === 'object' and 'sitekey' in value and 'size' in value
))
if (typeof toplevel === 'object' and toplevel instanceof HTMLElement and 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()
को कंसोल
में निष्पादित करके उस संबंधित फ़ंक्शन को खोजने का प्रयास करें
[
{
"id": "0",
"version": "V2",
"sitekey": "6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-",
"function": "onSuccess",
"callback": "___grecaptcha_cfg.clients['0']['l']['l']['callback']",
"pageurl": "https://www.google.com/recaptcha/api2/demo"
}
]
कैसे reCaptcha
गुमनाम फ़ंक्शन को बुलाया जाता है?
नोट: कभी-कभी खोजे गए कॉलबैक फ़ंक्शन एक फ़ंक्शन नाम होता है, जैसे कि ऊपर onSuccess
में उल्लिखित है,
सीधे onSuccess(gRecaptchaResponse)
को बुलाने के लिए, लेकिन कभी-कभी खोजा जाता है कि वह एक गुमनाम फ़ंक्शन होता है, जिसका मतलब है कि वह कोई फ़ंक्शन नाम नहीं होता है, उपर्युक्त तरह:
इस प्रकार के गुमनाम फ़ंक्शन के लिए
, हमें उसे उस पूर्ण पथ के अनुसार निष्पादित करना होता है जिस पथ को हमने अभी खोजा है, और प्रभाव एक समान होता है, उदाहरण के लिए:
___grecaptcha_cfg.clients.xxxxxxxxx.xxxxx.xxxxx.callback(gRecaptchaResponse)
चलो इसका उदाहरण देते हैं, इस वेबसाइट को उदाहरण के रूप में लें, ___grecaptcha_cfg.clients
दर्ज करके खोजें, आप यहां पर कॉलबैक फ़ंक्शन देख सकते हैं promise-callback
एक गुमनाम फ़ंक्शन है
f(token)
हम इस पर दायंक कर सकते हैं और Copy property path
पर क्लिक कर सकते हैं इस नोड पथ को कॉपी करने के लिए
[100000].l.l["promise-callback"]("gRecaptchaResponse")
उस ___grecaptcha_cfg.clients
को जो अभी दर्ज किया गया है, उसको जोड़ें, और आप इस फ़ंक्शन का पूरा पथ प्राप्त कर सकते हैं
___grecaptcha_cfg.clients[100000].l.l["promise-callback"]
आखिरकार, यह उपर्युक्त में उल्लिखित तरीके के रूप में निष्पादित करना है, इसे एक सामान्य फ़ंक्शन के रूप में निष्पादित करें
___grecaptcha_cfg.clients[100000].l.l["promise-callback"](gRecaptchaResponse)