Selenium कैप्चा सॉल्वर: Python और WebDriver स्क्रिप्ट के लिए
एक reCAPTCHA, Turnstile जाँच, GeeTest v3 स्लाइडर या टेढ़ी-मेढ़ी इमेज की वजह से WebDriver सेशन ख़त्म नहीं होना चाहिए। ब्राउज़र को CapSkip एक्सटेंशन दें या अपने टेस्ट से SDK कॉल करें, और हर हल लोकल रूप से, बिना किसी मीटर के चलता है।
- Python, C# और Node.js
- एक्सटेंशन या SDK का रास्ता
- Selenium Grid के अनुकूल
- /signup खोलें
- form भरें
- कैप्चा हल करें
- submit
4 passed0 ब्लॉक हुएदेर-सबेर कोई WebDriver रन ऐसे लॉगिन, सर्च या साइन-अप फ़ॉर्म तक पहुँचता है जिस पर चैलेंज का पहरा होता है, और यहीं Selenium कैप्चा सॉल्वर काम आता है। Selenium एलिमेंट ढूँढ सकता है, क्लिक और टाइप कर सकता है, फिर भी वह reCAPTCHA token नहीं बना सकता और न टेढ़े-मेढ़े अक्षर पढ़ सकता है, इसलिए टेस्ट अटक जाता है और रिपोर्ट timeout से भर जाती है। CapSkip ड्राइवर के साथ ही चलता है, उसी Windows कंप्यूटर पर या किसी ऐसे VPS पर जिस तक स्क्रिप्ट पहुँच सके, और ब्राउज़र के इंतज़ार करते-करते जवाब लौटा देता है।
इसे जोड़ने के दो तरीके हैं, और दोनों Selenium के अलग-अलग अंदाज़ के हिसाब से हैं। नो-कोड रास्ता ऐसी Chrome या Firefox प्रोफ़ाइल लॉन्च करता है जिसमें CapSkip एक्सटेंशन पहले से है, इसलिए विजेट पेज के अंदर ऐसे हल होते हैं मानो किसी इंसान ने उन पर टिक किया हो। स्क्रिप्ट वाला रास्ता नियंत्रण आपके टेस्ट में रखता है: pip install capskip चलाएँ, find_element से sitekey पढ़ें, solver.recaptcha() या solver.turnstile() कॉल करें, और execute_script से token वापस लिखें। इमेज कैप्चा लगभग 0.1 सेकंड में टेक्स्ट के रूप में लौटते हैं।
token वाले प्रकारों में CapSkip reCAPTCHA v2, v3 और Enterprise के साथ Cloudflare Turnstile कवर करता है। GeeTest v3 स्लाइड, Capy पज़ल, CaptchaFox और AWS WAF CAPTCHA भी शामिल हैं, और ALTCHA व Friendly Captcha के पीछे की proof-of-work जाँचें भी। इमेज कैप्चा हज़ारों प्रकारों में आते हैं, और hCaptcha भी कवर है, invisible और Enterprise विजेट समेत। FunCaptcha और GeeTest v4 समर्थित नहीं हैं। कुछ भी मीटर नहीं होता, इसलिए सैकड़ों चैलेंज से टकराने वाले नाइटली रिग्रेशन का बिल बिल्कुल उस रन जितना ही आता है जो एक से भी नहीं टकराता।
आपके ड्राइवर कोड में कोई बदलाव ज़रूरी नहीं। CapSkip एक्सटेंशन को किसी ब्राउज़र प्रोफ़ाइल में डालें, ऐप चलते समय Selenium को उसी प्रोफ़ाइल के साथ शुरू करें, और आपके explicit waits के चलते-चलते चैलेंज अपने आप हल हो जाते हैं। SDK पर तभी जाएँ जब किसी टेस्ट को जवाब सीधे अपने हाथ में चाहिए। extension गाइड पढ़ें
Selenium कैप्चा सॉल्वर WebDriver के लिए क्या करता है
Chrome या Firefox के लिए सॉल्विंग प्रोफ़ाइल
एक्सटेंशन को एक अलग Chrome प्रोफ़ाइल में एक बार इंस्टॉल करें और user-data-dir से वह प्रोफ़ाइल ड्राइवर को दें, या install_addon() से Firefox ऐड-ऑन लोड करें। इसके बाद Selenium जो भी विंडो खोलता है, वह हल कर सकती है, बशर्ते ऐप चल रहा हो।
उसी टेस्ट फ़ाइल से token कॉल
find_element से data-sitekey पढ़ें, उसे driver.current_url के साथ solver.recaptcha() को दें, और execute_script से g-recaptcha-response सेट करें। ऐप के काम करते समय ब्राउज़र आपकी स्क्रिप्ट के नियंत्रण में रहता है।
लाइव एलिमेंट से ली गई इमेज का टेक्स्ट
screenshot_as_base64 से तस्वीर लें और उसे solver.normal() को भेजें। चूँकि इमेज दोबारा माँगी ही नहीं जाती, send_keys से टाइप किया गया टेक्स्ट वही होता है जो इस सेशन को दिखाया गया था।
undetected-chromedriver के साथ बढ़िया जोड़ी
undetected-chromedriver और SeleniumBase UC मोड जैसे stealth ड्राइवर चैलेंज कम कर देते हैं। जो फिर भी आ जाते हैं, उन्हें CapSkip हल कर देता है, इसलिए दोनों टूल समस्या के अलग-अलग आधे हिस्से संभालते हैं।
पुराने 2Captcha हेल्पर चलते रहते हैं
2Captcha या Anti-Captcha के लिए आपके बनाए हेल्पर में कोई बदलाव नहीं चाहिए। ऐप में वही सर्विस एमुलेटर के रूप में चुनें, Hosts file के पास Add पर क्लिक करें, और CapSkip उन कॉल का जवाब ख़ुद देता है।
एक सदस्यता पर कई समानांतर ड्राइवर
मशीन जितने WebDriver इंस्टेंस संभाल सके, उतने चलाएँ। प्लान कभी थ्रेड सीमित नहीं करता, और सैकड़ों चैलेंज से गुज़रने वाला सूट भी मासिक बिल में कुछ नहीं जोड़ता।
चुनें कि आपका WebDriver कोड CapSkip तक कैसे पहुँचे
from selenium import webdriver
from capskip import CapSkip
driver = webdriver.Chrome()
driver.get("https://example.com/login")
solver = CapSkip(host="127.0.0.1", port=8080)
sitekey = driver.find_element("css selector", ".g-recaptcha").get_attribute("data-sitekey")
token = solver.recaptcha(sitekey=sitekey, url=driver.current_url)["code"]
# Inject the token and submit
driver.execute_script(
"document.getElementById('g-recaptcha-response').innerHTML = arguments[0];",
token,
)
driver.find_element("css selector", "button[type=submit]").click()Python Selenium: विजेट से sitekey पढ़ें, CapSkip से token माँगें, उसे response फ़ील्ड में लिखें और submit पर क्लिक करें।
Selenium प्रोफ़ाइल के अंदर एक्सटेंशन
Selenium जो प्रोफ़ाइल लॉन्च करता है, उसमें Chrome या Firefox एक्सटेंशन लोड करें। विजेट वहीं हल हो जाते हैं, इसलिए आपके टेस्ट में सॉल्विंग कोड की एक लाइन भी नहीं होती।
आपके locators के साथ SDK कॉल
Python, Node.js, PHP और C# क्लाइंट token और इमेज टेक्स्ट लौटाते हैं, जो आपकी इस्तेमाल की जाने वाली WebDriver binding में execute_script या send_keys के लिए तैयार होते हैं।
बाकी हर binding के लिए लोकल API
Java और बिना SDK वाली दूसरी bindings सीधे HTTP API कॉल कर सकती हैं, और 2Captcha जैसी सर्विसेज़ के लिए बना Selenium कोड एमुलेटर चालू होते ही काम करता है।
अपनी Selenium स्क्रिप्ट को लाइव reCAPTCHA पर आज़माएँ
अपने WebDriver को हमारे reCAPTCHA v2 डेमो पेज पर ले जाएँ, असली Google विजेट पर हल वाला स्टेप चलाएँ, और अपनी असली साइटों पर लगाने से पहले फ़ॉर्म को token स्वीकार करते देखें।
अपने Selenium सूट के साथ CapSkip तैयार करें
-
टेस्ट मशीन पर CapSkip इंस्टॉल करें
CapSkip को उस Windows डेस्कटॉप या VPS पर इंस्टॉल करें जो आपकी WebDriver स्क्रिप्ट चलाता है, या किसी भी ऐसी मशीन पर जिस तक वे स्क्रिप्ट नेटवर्क से पहुँच सकें, और टेस्ट चलने तक इसे चालू रखें। इंस्टॉलर डाउनलोड करें
-
कोई प्लान या मुफ़्त ट्रायल चालू करें
CapSkip में साइन इन करने के लिए ऑर्डर के साथ ईमेल की गई लॉगिन जानकारी इस्तेमाल करें। ट्रायल एक डिवाइस को तीन दिन और 500 हल देता है, जो असली साइटों पर पूरा सूट चलाने के लिए काफ़ी है। मुफ़्त ट्रायल शुरू करें
-
अपने ड्राइवर में हल वाला स्टेप जोड़ें
या तो Selenium को एक्सटेंशन वाली प्रोफ़ाइल के साथ लॉन्च करें, या pip install capskip चलाकर जहाँ भी कोई चैलेंज आपका फ़्लो रोके, वहाँ सॉल्वर कॉल करें। हर मेथड और विकल्प का दस्तावेज़ मौजूद है। API दस्तावेज़ खोलें
Selenium में लोकल हल बनाम प्रति-हल API
जब आपके Selenium रन हर दिन चैलेंज से टकराते हैं, तब CapSkip और 2Captcha जैसी सर्विसेज़ में क्या फ़र्क़ पड़ता है।
| फ़ीचर | CapSkip | 2Captcha & API सेवाएँ |
|---|---|---|
| पूरे टेस्ट रन की लागत | $35 से वही मासिक प्लान, हल चाहे जितने हों | हर हल का बिल, यानी बड़ा सूट मतलब बड़ा बिल |
| चैलेंज कहाँ हल होता है | आपके ब्राउज़र चलाने वाली मशीन पर, या किसी VPS पर | रिमोट सर्वर पर, अक्सर इंसानी वर्करों द्वारा |
| इमेज कैप्चा में लगने वाला समय | लगभग 0.1 सेकंड, इंटरनेट के पार कोई चक्कर नहीं | कई सेकंड, ऊपर से हर इमेज पर नेटवर्क आना-जाना |
| 2Captcha के लिए पहले से लिखा कोड | बिल्ट-इन एमुलेटर के ज़रिए चलता रहता है | उस वेंडर के API और उसके बैलेंस से बंधा |
| सेशन स्क्रीनशॉट और चैलेंज डेटा | आपकी अपनी मशीन पर ही रहते हैं | हर हल के लिए किसी थर्ड-पार्टी सर्विस को भेजे जाते हैं |
| समानांतर WebDriver सेशन | प्लान की ओर से थ्रेड सीमा नहीं, सिर्फ़ आपका हार्डवेयर | ज़्यादा concurrency का अक्सर ज़्यादा खर्च |
| Selenium से जोड़ने के तरीके | एक्सटेंशन प्रोफ़ाइल, Python या .NET क्लाइंट, या सादे HTTP कॉल | API key, प्रीपेड क्रेडिट और उनका अपना क्लाइंट |
मूल्य निर्धारण
प्रति सॉल्व भुगतान करना बंद करें
अपना लाइसेंस चुनें
Bronze लाइसेंस
$35/ माह
तुरंत लाइसेंस सक्रियण
मासिक बिलिंग। अपने अकाउंट से कभी भी रद्द करें।
फ़ीचर वही। ज़्यादा मशीनें, ज़्यादा थ्रूपुट।
हर मशीन उतनी ही तेज़ी से हल करती है जितना उसका अपना CPU और मेमोरी अनुमति देते हैं। ज़्यादा मशीनें एक साथ ज़्यादा थ्रेड चलाती हैं, इसलिए Silver एक साथ दोगुने कैप्चा हल करता है और Gold तिगुने।
- असीमित सॉल्विंग, कोई दैनिक सीमा नहीं
- असीमित थ्रेड, गति आपके हार्डवेयर के साथ बढ़ती है
- 90% से 100% पहचान सटीकता
- प्रमुख सॉल्विंग सेवा API का सीधा विकल्प
- लगभग किसी भी टूल के साथ काम करता है, कोडिंग की ज़रूरत नहीं
- REST API, SDK और एक ब्राउज़र एक्सटेंशन
- नया कैप्चा प्रकार आने पर मुफ़्त ट्रेनिंग
- आपकी अपनी मशीन पर चलता है, कुछ भी बाहर नहीं जाता
ऊपर दिखाया गया हर कैप्चा प्रकार हर लाइसेंस में शामिल है। कवरेज सेक्शन देखें
बस पहले इसे आज़माना चाहते हैं?
एक मुफ़्त 3-दिन के ट्रायल से शुरू करें और अपने खुद के targets पर किसी भी प्रकार के 500 कैप्चा हल करें।
संबंधित कैप्चा सॉल्वर & गाइड
Selenium Python से reCAPTCHA हल करें: एक्सटेंशन या SDK
जब कोई कैप्चा फ़्लो रोक दे, तो Selenium में आपके पास दो भरोसेमंद विकल्प हैं: ब्राउज़र एक्सटेंशन को पेज के अंदर ही चैलेंज पूरा करने दें, या अपनी स्क्रिप्ट से उसे हल करके जवाब inject करें। दोनों के लिए CapSkip ऐप का किसी ऐसी जगह चलना ज़रूरी है जहाँ आपका टेस्ट पहुँच सके, और सही विकल्प इस पर निर्भर करता है कि टेस्ट को कितना नियंत्रण चाहिए।
एक्सटेंशन वाला रास्ता। एक Chrome प्रोफ़ाइल बनाएँ, उसमें CapSkip एक्सटेंशन इंस्टॉल करें, और user-data-dir आर्ग्युमेंट के ज़रिए उसी प्रोफ़ाइल के साथ webdriver.Chrome शुरू करें; Firefox के लिए ऐड-ऑन फ़ाइल के साथ driver.install_addon() कॉल करें। headed मोड में या --headless=new के साथ चलाएँ, क्योंकि पुराना headless मोड कोई एक्सटेंशन लोड नहीं करता। इसके बाद reCAPTCHA, Turnstile और GeeTest v3 के विजेट वहीं संभल जाते हैं, और आपके WebDriverWait को सिर्फ़ फ़ॉर्म के आगे बढ़ने का इंतज़ार करना होता है।
SDK वाला रास्ता। pip install capskip से क्लाइंट इंस्टॉल करें (Python 3.10 या नया) और पूरे सेशन के लिए एक solver बनाएँ, जो डिफ़ॉल्ट रूप से 127.0.0.1 और port 8080 पर सेट होता है। reCAPTCHA के लिए .g-recaptcha एलिमेंट से data-sitekey लें, या जब विजेट JavaScript से रेंडर हो, तो reCAPTCHA iframe के src में मौजूद k वैल्यू लें, फिर driver.current_url के साथ solver.recaptcha() कॉल करें। invisible विजेट को invisible=1 चाहिए, जबकि v3 को version v3 के साथ वह action string चाहिए जो पेज जाँच चलाते समय भेजता है। execute_script से g-recaptcha-response सेट करें, अगर विजेट में data-callback का नाम दिया है तो उसे चलाएँ, और दो मिनट के अंदर सबमिट करें। Turnstile के लिए solver.turnstile() और छिपा हुआ cf-turnstile-response फ़ील्ड इस्तेमाल करें; बाकी फ़्लो वही रहता है।
Python Selenium में इमेज कैप्चा सॉल्वर स्टेप के लिए img एलिमेंट से screenshot_as_base64 पढ़ें, उस string को data:image/png;base64 prefix के साथ solver.normal() को दें, और नतीजा send_keys से टाइप करें। इमेज URL को दोबारा कभी fetch न करें: ज़्यादातर इमेज कैप्चा सेशन से बंधे होते हैं, और दूसरी request पर नई तस्वीर बन जाती है। reCAPTCHA और Turnstile के लिए CapSkip को वही प्रॉक्सी दें जो आपका ब्राउज़र इस्तेमाल करता है (HTTP, HTTPS, SOCKS5 या SOCKS5h); इमेज हल को किसी प्रॉक्सी की ज़रूरत नहीं।
संबंधित गाइड: undetected-chromedriver कैप्चा · SeleniumBase कैप्चा · Selenium Grid पर कैप्चा
Python में Selenium से reCAPTCHA हल करने का सबसे तेज़ तरीका क्या है?
मेरे Selenium प्रोजेक्ट को एक्सटेंशन इस्तेमाल करना चाहिए या SDK?
Selenium जो ब्राउज़र खोलता है, उसमें एक्सटेंशन कैसे डालूँ?
Selenium किसी इमेज कैप्चा को CapSkip तक कैसे भेजता है?
क्या यह Selenium में Cloudflare Turnstile को, फ़ुल-पेज जाँच समेत, संभालता है?
फ़ॉर्म अब भी मेरा inject किया token नहीं ले रहा। आम तौर पर गड़बड़ी कहाँ होती है?
क्या मैं C#, Node.js या Java वाले Selenium से CapSkip कॉल कर सकता हूँ?
क्या सॉल्वर headless Chrome और Selenium Grid के साथ काम करता है?
अपने Selenium सूट को हर रन पूरा करने दें
अपने ड्राइवर के पास CapSkip इंस्टॉल करें, साइन इन करें, और एक्सटेंशन या SDK चुनें। आपका अगला WebDriver रन अपने कैप्चा लोकल रूप से हल करेगा, और सूट के सामने चाहे जो आए, मासिक बिल वहीं का वहीं रहेगा।
