Selenium

Selenium कैप्चा सॉल्वर: Python और WebDriver स्क्रिप्ट के लिए

एक reCAPTCHA, Turnstile जाँच, GeeTest v3 स्लाइडर या टेढ़ी-मेढ़ी इमेज की वजह से WebDriver सेशन ख़त्म नहीं होना चाहिए। ब्राउज़र को CapSkip एक्सटेंशन दें या अपने टेस्ट से SDK कॉल करें, और हर हल लोकल रूप से, बिना किसी मीटर के चलता है।

Windows x64·लोकल रूप से चलता है, इसलिए कोई कैप्चा आपकी मशीन से बाहर नहीं जाता
  • Python, C# और Node.js
  • एक्सटेंशन या SDK का रास्ता
  • Selenium Grid के अनुकूल
हर महीने कैप्चा40,000
40.0k250.0k
कहीं और metered, लगभग $1.40 per 1,000$56.00
CapSkip Bronze, फिक्स्ड कीमत$35.00
$21.00आपकी जेब में रहता हैहर महीने, इस volume पर

देर-सबेर कोई 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 तक कैसे पहुँचे

Python
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 तैयार करें

  1. टेस्ट मशीन पर CapSkip इंस्टॉल करें

    CapSkip को उस Windows डेस्कटॉप या VPS पर इंस्टॉल करें जो आपकी WebDriver स्क्रिप्ट चलाता है, या किसी भी ऐसी मशीन पर जिस तक वे स्क्रिप्ट नेटवर्क से पहुँच सकें, और टेस्ट चलने तक इसे चालू रखें। इंस्टॉलर डाउनलोड करें

  2. कोई प्लान या मुफ़्त ट्रायल चालू करें

    CapSkip में साइन इन करने के लिए ऑर्डर के साथ ईमेल की गई लॉगिन जानकारी इस्तेमाल करें। ट्रायल एक डिवाइस को तीन दिन और 500 हल देता है, जो असली साइटों पर पूरा सूट चलाने के लिए काफ़ी है। मुफ़्त ट्रायल शुरू करें

  3. अपने ड्राइवर में हल वाला स्टेप जोड़ें

    या तो Selenium को एक्सटेंशन वाली प्रोफ़ाइल के साथ लॉन्च करें, या pip install capskip चलाकर जहाँ भी कोई चैलेंज आपका फ़्लो रोके, वहाँ सॉल्वर कॉल करें। हर मेथड और विकल्प का दस्तावेज़ मौजूद है। API दस्तावेज़ खोलें

Selenium में लोकल हल बनाम प्रति-हल API

जब आपके Selenium रन हर दिन चैलेंज से टकराते हैं, तब CapSkip और 2Captcha जैसी सर्विसेज़ में क्या फ़र्क़ पड़ता है।

फ़ीचरCapSkip2Captcha & API सेवाएँ
पूरे टेस्ट रन की लागत$35 से वही मासिक प्लान, हल चाहे जितने होंहर हल का बिल, यानी बड़ा सूट मतलब बड़ा बिल
चैलेंज कहाँ हल होता हैआपके ब्राउज़र चलाने वाली मशीन पर, या किसी VPS पररिमोट सर्वर पर, अक्सर इंसानी वर्करों द्वारा
इमेज कैप्चा में लगने वाला समयलगभग 0.1 सेकंड, इंटरनेट के पार कोई चक्कर नहींकई सेकंड, ऊपर से हर इमेज पर नेटवर्क आना-जाना
2Captcha के लिए पहले से लिखा कोडबिल्ट-इन एमुलेटर के ज़रिए चलता रहता हैउस वेंडर के API और उसके बैलेंस से बंधा
सेशन स्क्रीनशॉट और चैलेंज डेटाआपकी अपनी मशीन पर ही रहते हैंहर हल के लिए किसी थर्ड-पार्टी सर्विस को भेजे जाते हैं
समानांतर WebDriver सेशनप्लान की ओर से थ्रेड सीमा नहीं, सिर्फ़ आपका हार्डवेयरज़्यादा concurrency का अक्सर ज़्यादा खर्च
Selenium से जोड़ने के तरीकेएक्सटेंशन प्रोफ़ाइल, Python या .NET क्लाइंट, या सादे HTTP कॉलAPI key, प्रीपेड क्रेडिट और उनका अपना क्लाइंट

मूल्य निर्धारण

प्रति सॉल्व भुगतान करना बंद करें

अपना लाइसेंस चुनें

Bronze लाइसेंस

$35/ माह

Bronze की सदस्यता लें

तुरंत लाइसेंस सक्रियण

मासिक बिलिंग। अपने अकाउंट से कभी भी रद्द करें।

फ़ीचर वही। ज़्यादा मशीनें, ज़्यादा थ्रूपुट।

हर मशीन उतनी ही तेज़ी से हल करती है जितना उसका अपना 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 हल करने का सबसे तेज़ तरीका क्या है?
CapSkip ऐप चालू रखें, pip install capskip चलाएँ, और .g-recaptcha एलिमेंट से data-sitekey पढ़ें। उस key और driver.current_url के साथ solver.recaptcha() कॉल करें, ज़रूरत हो तो invisible=1 या पेज के action के साथ version v3 जोड़ें। लौटा हुआ code execute_script से g-recaptcha-response में डालें, अगर data-callback है तो उसे चलाएँ, फिर सबमिट करें।
मेरे Selenium प्रोजेक्ट को एक्सटेंशन इस्तेमाल करना चाहिए या SDK?
जब आपको सॉल्विंग कोड बिल्कुल नहीं चाहिए, तब एक्सटेंशन इस्तेमाल करें: आपके waits चलते रहते हैं और ब्राउज़र प्रोफ़ाइल हर विजेट बिना मदद के पूरा कर देती है। SDK तब इस्तेमाल करें जब टेस्ट को तय करना हो कि कब हल करना है, नतीजा लॉग करना हो, दोबारा कोशिश करनी हो, या पुराने headless मोड में चलना हो। आप एक्सटेंशन से शुरू करके बाद में व्यस्त हिस्सों को SDK पर ले जा सकते हैं।
Selenium जो ब्राउज़र खोलता है, उसमें एक्सटेंशन कैसे डालूँ?
Chrome के लिए, Chrome Web Store से एक्सटेंशन को एक अलग प्रोफ़ाइल में इंस्टॉल करें, फिर user-data-dir आर्ग्युमेंट के ज़रिए उसी प्रोफ़ाइल के साथ Selenium शुरू करें। Firefox के लिए, ऐड-ऑन फ़ाइल driver.install_addon() को दें। headed मोड में या --headless=new के साथ चलाएँ, क्योंकि legacy headless मोड एक्सटेंशन लोड नहीं कर पाता, और टेस्ट चलते समय CapSkip ऐप खुला रखें।
Selenium किसी इमेज कैप्चा को CapSkip तक कैसे भेजता है?
कैप्चा का img ढूँढें, उसकी screenshot_as_base64 property पढ़ें और data:image/png;base64 prefix लगाकर उसे solver.normal() को दें। लौटे हुए अक्षर send_keys से जवाब वाले बॉक्स में टाइप करें। इमेज URL डाउनलोड करने से स्क्रीनशॉट बेहतर है, क्योंकि साइट तस्वीर को आपके सेशन से जोड़ती है और नई request पर अलग अक्षर दिखेंगे।
क्या यह Selenium में Cloudflare Turnstile को, फ़ुल-पेज जाँच समेत, संभालता है?
हाँ। विजेट के लिए .cf-turnstile एलिमेंट से data-sitekey पढ़ें, पेज URL के साथ solver.turnstile() कॉल करें और सबमिट करने से पहले token को cf-turnstile-response में लिखें। अगर Cloudflare इसकी जगह फ़ुल-पेज जाँच दिखाए, तो CapSkip उसे भी हल करता है और token के साथ एक userAgent लौटाता है; उस Selenium सेशन के बाकी हिस्से में यही userAgent इस्तेमाल करें, ताकि पास मान्य बना रहे।
फ़ॉर्म अब भी मेरा inject किया token नहीं ले रहा। आम तौर पर गड़बड़ी कहाँ होती है?
ज़्यादातर मामलों में तीन में से कोई एक वजह होती है: token दो मिनट से पुराना है, data-callback कभी कॉल ही नहीं हुआ, या पेज पर कई विजेट हैं और वह पहले फ़ील्ड की जगह g-recaptcha-response-1 पोस्ट करता है। सबमिट करने से ठीक पहले हल करें, callback ट्रिगर करें, और network पैनल में देखें कि आपका फ़ॉर्म असल में कौन-सा फ़ील्ड भेजता है।
क्या मैं C#, Node.js या Java वाले Selenium से CapSkip कॉल कर सकता हूँ?
हाँ। C# WebDriver प्रोजेक्ट dotnet add package CapSkip से .NET क्लाइंट जोड़ते हैं, और Node.js में selenium-webdriver के लिए npm install capskip इस्तेमाल होता है; ढूँढने, हल करने और inject करने के स्टेप Python फ़्लो जैसे ही हैं। Java और दूसरी bindings के लिए कोई SDK नहीं है, इसलिए वे किसी भी HTTP क्लाइंट से सीधे लोकल HTTP API कॉल करती हैं।
क्या सॉल्वर headless Chrome और Selenium Grid के साथ काम करता है?
SDK वाला रास्ता हर ब्राउज़र मोड में काम करता है, क्योंकि हल CapSkip के अंदर होता है और टेस्ट को बस उसके host और port तक पहुँचना होता है। Grid पर इससे चीज़ें सरल रहती हैं: सॉल्वर को टेस्ट स्क्रिप्ट कॉल करती है, node नहीं। एक्सटेंशन वाले रास्ते के लिए headed Chrome या नया headless मोड चाहिए।

अपने Selenium सूट को हर रन पूरा करने दें

अपने ड्राइवर के पास CapSkip इंस्टॉल करें, साइन इन करें, और एक्सटेंशन या SDK चुनें। आपका अगला WebDriver रन अपने कैप्चा लोकल रूप से हल करेगा, और सूट के सामने चाहे जो आए, मासिक बिल वहीं का वहीं रहेगा।