CAPSOLVER
ब्लॉग
Robot Framework ब्राउज़र परीक्षणों में CAPTCHA का पता कैसे लगाएँ

Robot Framework Browser परीक्षणों में CAPTCHA का पता कैसे लगाएँ

Logo of CapSolver

Rajinder Singh

How to use CapSolver

26-Oct-2026

संक्षिप्त सारांश (TL;DR)

  • Robot Framework एक छोटी‑सी Python कीवर्ड लाइब्रेरी को कॉल कर सकता है जो आधिकारिक CapSolver Core SDK का उपयोग करके CAPTCHA वाले पेज का निरीक्षण करती है।
  • उदाहरण Robot टेस्ट को डिटेक्ट किया गया CAPTCHA प्रकार, पेज URL, और sitekey वापस करता है।
  • टेस्ट को अपनी ही डेवलपमेंट पेज पर चलाएँ, जहाँ Google की सार्वजनिक reCAPTCHA टेस्ट‑की का उपयोग हो।
  • यह कीवर्ड अपना खुद का ब्राउज़र खोलता और बंद करता है; यह SeleniumLibrary या Browser Library के किसी सेशन से अटैच नहीं होता।
  • Detection केवल इनपुट‑डिस्कवरी स्टेप की पुष्टि करती है। यह न तो CAPTCHA को हल करती है और न ही यह साबित करती है कि कोई प्रोडक्शन फ़ॉर्म किसी solver परिणाम को स्वीकार करता है।

Robot Framework का कोई ब्राउज़र टेस्ट असफल हो सकता है क्योंकि पेज वह कंटेंट दिखाने के बजाय CAPTCHA दिखा रहा हो, जिसकी अगली assertion अपेक्षा कर रही थी। सिर्फ़ generic timeout बढ़ाने से इस बदलाव को समझाया नहीं जा सकता। एक विशेष CAPTCHA जाँच टेस्ट को उपयोगी परिणाम दे सकती है: उस challenge का प्रकार और पैरामीटर, जिनकी किसी अनुमोदित solver वर्कफ़्लो को आवश्यकता होगी।

Robot Framework एक ओपन‑सोर्स फ़्रेमवर्क है जो acceptance testing और robotic process automation के लिए उपयोग होता है। इसकी कीवर्ड सिंटैक्स टीमों को चेक लिखने देती है, जबकि Python लाइब्रेरीज़ असल ऑपरेशनों को इम्प्लीमेंट करती हैं। यह ट्यूटोरियल एक Python कीवर्ड को CapSolver के आधिकारिक Core SDK से जोड़ता है और यह सुनिश्चित करता है कि Robot को ब्राउज़र पेज से वास्तविक detection परिणाम मिल रहे हैं।

Robot टेस्ट में CAPTCHA detection कहाँ होनी चाहिए

CAPTCHA detection किसी ज्ञात पेज चेकपॉइंट पर होनी चाहिए, उससे पहले कि टेस्ट ब्लॉक की गई पेज को सामान्य एप्लिकेशन रेस्पॉन्स मान ले।

उदाहरण के लिए, किसी अनुमत ब्राउज़र वर्कफ़्लो को एक सर्च फ़ॉर्म की अपेक्षा होती है, लेकिन उसकी जगह challenge मिल जाता है। उपयोगी पहला सवाल यह है कि क्या कोई समर्थित CAPTCHA मौजूद है। फिर recognition परिणाम अगला नियंत्रित कदम तय कर सकता है: documented solving integration का उपयोग, मानव हस्तक्षेप के लिए रुकना, या किसी विशेष टेस्ट‑फ़ेल्योर को रिकॉर्ड करना।

यह हर missing element को CAPTCHA मान लेने से अलग है। कोई पेज इस वजह से भी असफल हो सकता है कि उसकी एप्लिकेशन स्क्रिप्ट लोड नहीं हुई, उसका route बदल गया, या कोई selector ग़लत है। CAPTCHA detection को इन निदानों से अलग रखें।

Robot Framework user guide Python टेस्ट लाइब्रेरीज़ और कीवर्ड execution को डॉक्यूमेंट करता है। नीचे दी गई छोटी लाइब्रेरी उसी एक्सटेंशन पॉइंट का उपयोग करती है। यह एक उदाहरण इंटीग्रेशन है, यह दावा नहीं कि Robot Framework किसी native CapSolver लाइब्रेरी के साथ आता है।

सभी पैकेज एक ही environment में इंस्टॉल करें

Robot Framework, Playwright और Core SDK को एक ही Python environment में इंस्टॉल करें ताकि टेस्ट रनर सभी को इम्पोर्ट कर सके।

उदाहरण में Python 3.12, Robot Framework 7.5, Playwright 1.64.0 और capsolver-core 0.1.1 उपयोग किए गए हैं। फ़्रेमवर्क की official repository इसके प्रोजेक्ट बैकग्राउंड और समर्थित इंस्टॉलेशन तरीकों का स्रोत है।

bash Copy
python -m pip install robotframework==7.5 playwright==1.64.0 capsolver-core==0.1.1
python -m playwright install chromium

इंस्टॉलेशन और टेस्ट, दोनों के लिए एक ही interpreter उपयोग करें। एक आम सेटअप‑त्रुटि यह है कि ब्राउज़र लाइब्रेरी को एक environment में इंस्टॉल किया जाता है और Robot दूसरे से चलाया जाता है। तब import पेज खुलने से पहले ही असफल हो जाता है।

यह उदाहरण केवल एक widget को detect करता है और उसके public पैरामीटर पढ़ता है। पेड solving के लिए एक वैध solver API key, अकाउंट readiness, और अलग से अनुमोदित वर्कफ़्लो की आवश्यकता होगी। नीचे दिया गया टेस्ट कोई पेड परिणाम उत्पन्न नहीं करता।

एक owned CAPTCHA fixture बनाएँ

index.html को किसी समर्पित fixture डायरेक्टरी में बनाएँ और उसे अपनी मशीन पर सर्व करें।

Google अपनी automated testing guidance में सार्वजनिक reCAPTCHA v2 टेस्ट‑की डॉक्यूमेंट करता है। यह fixture उसी की का उपयोग करता है ताकि किसी प्रोडक्शन साइट की कॉन्फ़िगरेशन के बिना ही एक पहचानने योग्य widget लोड किया जा सके।

html Copy
<!doctype html><html><head><title>Owned CAPTCHA test fixture</title></head><body>
<h1>Owned development page</h1>
<div class="g-recaptcha" data-sitekey="6LeIxAcTAAAAAJcZVRqyHh71UMIEGNQ_MXjiZKhI"></div>
<script src="https://www.google.com/recaptcha/api.js" async defer></script>
</body></html>

उस डायरेक्टरी से एक लोकल सर्वर शुरू करें:

bash Copy
python -m http.server 8766 --bind 127.0.0.1

Widget स्क्रिप्ट को अभी भी Google तक नेटवर्क एक्सेस चाहिए। यदि fixture का widget लोड नहीं होता, तो किसी खाली detection परिणाम की व्याख्या करने से पहले इस पूर्व‑आवश्यकता की जाँच करें। लोकल सर्वर fixture को केवल loopback इंटरफ़ेस पर एक्सपोज़ करता है।

कोई टेस्ट‑की wiring और recognition की जाँच के लिए उपयोगी होती है। यह प्रोडक्शन challenge की कठिनाई, पेड solving performance, या एप्लिकेशन acceptance के लिए प्रतिनिधिक सबूत नहीं है। इन्हें रिलीज़ चेकलिस्ट में अलग‑अलग टेस्ट के रूप में रखें।

Python कीवर्ड लाइब्रेरी जोड़ें

निम्न लाइब्रेरी को CaptchaCheck.py नाम से अपने Robot टेस्ट फ़ाइल के पास सेव करें।

यह लाइब्रेरी Core SDK के documented get_captcha_info मेथड को कॉल करती है। Robot‑विशेष wrapper जानबूझकर छोटा रखा गया है: यह एक event loop शुरू करता है, ब्राउज़र खोलता है, जानकारी पढ़ता है, और finally ब्लॉक में ब्राउज़र बंद करता है।

python Copy
import asyncio
from robot.api.deco import keyword
from capsolver_core import create_capsolver
from playwright.async_api import async_playwright

@keyword("Inspect CAPTCHA Page")
def inspect_captcha_page(url):
    return asyncio.run(_inspect(url))

async def _inspect(url):
    async with async_playwright() as pw:
        browser = await pw.chromium.launch(headless=True)
        try:
            page = await browser.new_page()
            await page.goto(url, wait_until="networkidle")
            async with create_capsolver() as cap:
                infos = await cap.get_captcha_info(page)
            return [{"type": item.type.value, "url": item.website_url,
                     "site_key": item.website_key} for item in infos]
        finally:
            await browser.close()

रिटर्न किया गया लिस्ट plain dictionaries से बना होता है, जो Robot assertions के लिए सुविधाजनक है। खाली लिस्ट का अर्थ है कि इस inspection ने कोई matching जानकारी नहीं पाई। इसे यह दावा बनाने में न बदलें कि वर्कफ़्लो में कहीं भी कोई संभव challenge मौजूद नहीं है।

यह page‑load wait इस छोटे fixture के लिए उचित है। कोई प्रोडक्शन एप्लिकेशन, जिसमें स्थायी network activity है, को अलग, पेज‑विशेष readiness condition की आवश्यकता हो सकती है। networkidle को हर एप्लिकेशन में कॉपी न करें और यह न मान लें कि इससे साबित होता है कि सम्बंधित widget ने रेंडरिंग पूरी कर ली है।

अपना CapSolver Bonus Code रिडीम करें

अपना automation बजट तुरंत बढ़ाएँ!
CapSolver अकाउंट टॉप‑अप करते समय bonus code CAP26 उपयोग करें और हर recharge पर अतिरिक्त 5% बोनस पाएँ — बिना किसी सीमा के।
इसे अभी अपने CapSolver Dashboard में रिडीम करें।
CapSolver CAP26 recharge bonus promotion

Robot टेस्ट चलाएँ और उसका परिणाम जाँचें

निम्न सामग्री को captcha.robot नाम से लाइब्रेरी के पास सेव करें और तब चलाएँ जब लोकल fixture सर्वर उपलब्ध हो।

robotframework Copy
*** Settings ***
Library    CaptchaCheck.py
Library    Collections

*** Variables ***
${PAGE_URL}    http://127.0.0.1:8766/

*** Test Cases ***
Identify The Fixture CAPTCHA
    ${items}=    Inspect CAPTCHA Page    ${PAGE_URL}
    Should Not Be Empty    ${items}
    ${first}=    Get From List    ${items}    0
    Should Be Equal    ${first}[type]    reCaptchaV2
    Log    ${items}
bash Copy
python -m robot --outputdir results captcha.robot

टेस्ट यह assert करता है कि detector ने कोई परिणाम लौटाया और fixture को reCaptchaV2 के रूप में पहचाना गया। इसकी लॉग में रिटर्न किया गया page URL और public sitekey मौजूद होते हैं। Robot द्वारा जनरेट की गई report बताएगी कि ये assertions पास हुए या नहीं।

कोई पास एक विशिष्ट chain स्थापित करता है: Robot ने आपका Python कीवर्ड invoke किया, Playwright ने fixture खोला, Core SDK ने असली पेज का निरीक्षण किया, और लौटाया हुआ डेटा Robot की assertions तक पहुँचा। कोड अपवाद होने पर भी ब्राउज़र बंद कर देता है।

विफलताओं को उसी चरण पर पढ़ें जहाँ वे होती हैं। कोई import error dependency समस्या है। कोई navigation error page‑access समस्या है। timeout का अर्थ हो सकता है कि fixture ठीक से settle नहीं हुआ। type assertion असफल होने का अर्थ है कि लौटाया हुआ डेटा fixture अपेक्षा से मेल नहीं खाता। इन स्थितियों के लिए अलग‑अलग सुधारों की आवश्यकता होती है।

Detection को solver वर्कफ़्लो से सावधानी से जोड़ें

Detection solver निर्णय के लिए जानकारी देती है, लेकिन अगला कदम उस page context को सुरक्षित रखे जो task को चाहिए।

Official SDK guide ब्राउज़र solving को अलग ऑपरेशन के रूप में वर्णित करता है। यदि आपके प्रोडक्शन वर्कफ़्लो को उसी पेज पर solve करना और आगे बढ़ना आवश्यक है, तो उस पेज और उसके ब्राउज़र context को पूरे ऑपरेशन के दौरान जीवित रखें। इस लेख का diagnostic कीवर्ड अपना ब्राउज़र बंद कर देता है, इसीलिए यह किसी मौजूदा logged‑in सेशन के लिए drop‑in continuation स्टेप नहीं है।

SeleniumLibrary या Robot Framework Browser पहले से उपयोग कर रही टीमें भी अपने active ब्राउज़र और इस उदाहरण द्वारा खोले गए ब्राउज़र में अंतर स्पष्ट रखें। किसी URL को साझा करने का अर्थ cookies, prior interactions या page object को साझा करना नहीं है। यह दावा करने से बचें कि challenge टेस्ट के active ब्राउज़र में solve हुआ, जबकि असल काम किसी दूसरे ब्राउज़र में हुआ।

साधारण owned‑site regression tests के लिए provider टेस्ट‑keys अक्सर सरल विकल्प होते हैं। वास्तविक solver path का उपयोग केवल तब करें जब टेस्ट उद्देश्य उस integration को validate करना हो। reCAPTCHA test‑key guide इस सीमा को और विस्तार से समझाता है।

CapSolver के साथ भरोसेमंद automation workflows बनाएँ

किसी पहचाने गए CAPTCHA और generic element failure के बीच अंतर करने के लिए एक छोटा, स्पष्ट checkpoint उपयोग करें। CapSolver इस उदाहरण में detection क्षमता देता है; Robot Framework उसके परिणाम को पठनीय टेस्ट assertion में बदल देता है। पेड solving को केवल एक अलग से सत्यापित स्टेप के रूप में जोड़ें, जहाँ सही page ownership और एप्लिकेशन outcome चेक शामिल हों।

अक्सर पूछे जाने वाले प्रश्न (FAQ)

प्र: क्या यह Robot टेस्ट CAPTCHA को हल करता है?

नहीं। यह fixture के CAPTCHA को detect करता है और उसके public पैरामीटर लौटाता है। टेस्ट न तो कोई पेड solution अनुरोध करता है और न ही किसी प्रोडक्शन फ़ॉर्म सबमिशन की पुष्टि करता है।

प्र: क्या यह कोई आधिकारिक Robot Framework प्लगइन है?

नहीं। Python कीवर्ड wrapper Robot Framework की documented लाइब्रेरी मेकैनिज़्म और आधिकारिक Core SDK के इर्द‑गिर्द बना एक उदाहरण है। ठीक‑ठीक wrapper शामिल किया गया है ताकि उसका व्यवहार inspect किया जा सके।

प्र: क्या मैं यही कीवर्ड SeleniumLibrary वाले टेस्ट के अंदर उपयोग कर सकता हूँ?

आप कीवर्ड को कॉल कर सकते हैं, लेकिन यह अलग Playwright ब्राउज़र खोलता है। यह SeleniumLibrary के ब्राउज़र सेशन का निरीक्षण या उसे आगे जारी नहीं रखता। किसी existing‑session इंटीग्रेशन के लिए स्पष्ट, समर्थित handoff की आवश्यकता होगी।

प्र: fixture खाली लिस्ट क्यों लौटाती है?

जाँचें कि widget स्क्रिप्ट लोड हुई या नहीं, अपेक्षित पेज सर्व हो रहा है या नहीं, और SDK उस मौजूद challenge को सपोर्ट करता है या नहीं। अकेला empty result कारण की पहचान नहीं करता।

प्र: क्या मुझे इस उदाहरण के लिए solver API key की ज़रूरत है?

दिखाई गई parameter‑detection जाँच कोई पेड solving task सबमिट नहीं करती। प्रोडक्शन solving स्टेप के लिए उस ऑपरेशन के लिए डॉक्यूमेंट की गई credentials और पूर्व‑आवश्यकताएँ चाहिए होंगी।

प्र: क्या हर automated टेस्ट को CAPTCHA solver को कॉल करना चाहिए?

नहीं। जहाँ उपयुक्त हो, routine owned‑site regression tests के लिए provider की टेस्ट‑मैकेनिज़्म का उपयोग करें। solver integration टेस्ट्स को केवल उस वर्कफ़्लो तक सीमित रखें जिन्हें वे validate करने के लिए बनाए गए हों, और उन्हें सीमाबद्ध रखें।

अनुपालन अस्वीकरण: इस ब्लॉग पर प्रदान की गई जानकारी केवल सूचनात्मक उद्देश्यों के लिए है। CapSolver सभी लागू कानूनों और विनियमों का पालन करने के लिए प्रतिबद्ध है। CapSolver नेटवर्क का उपयोग अवैध, धोखाधड़ी या दुरुपयोग करने वाली गतिविधियों के लिए करना सख्त वर्जित है और इसकी जांच की जाएगी। हमारे कैप्चा समाधान उपयोगकर्ता अनुभव को बेहतर बनाने के साथ-साथ सार्वजनिक डेटा क्रॉलिंग के दौरान कैप्चा कठिनाइयों को हल करने में 100% अनुपालन सुनिश्चित करते हैं। हम अपनी सेवाओं के जिम्मेदार उपयोग की प्रोत्साहना करते हैं। अधिक जानकारी के लिए, कृपया हमारी सेवा की शर्तें और गोपनीयता नीति पर जाएं।

अधिक

एक ब्राउज़र पेज में एक एप्लिकेशन फ्रेम और एक नेस्टेड CAPTCHA विजेट फ्रेम होता है।
iframe में CAPTCHA का पता नहीं चल रहा है? सही फ़्रेम कैसे खोजें

पता लगाएँ कि एक दृश्य CAPTCHA iframe के अंदर क्यों छूट रहा है। दस्तावेज़ संदर्भ, विजेट लोडिंग, साइट पैरामीटर, और आपके सॉल्वर तक ब्राउज़र की हैंडऑफ़ की जाँच करें।

automation
Logo of CapSolver

Rajinder Singh

26-Oct-2026

Robot Framework परीक्षण एक पेज को CAPTCHA डिटेक्शन कीवर्ड में पास करते हैं और उसके प्रकार तथा साइटकी प्राप्त करते हैं।
Robot Framework Browser परीक्षणों में CAPTCHA का पता कैसे लगाएँ

टेस्ट किए गए Python कीवर्ड और आधिकारिक सॉल्वर SDK के साथ Robot Framework में CAPTCHA का पता लगाएँ। पेज पैरामीटर्स की जाँच करें और समझें कि डिटेक्शन कहाँ रुकता है।

automation
Logo of CapSolver

Rajinder Singh

26-Oct-2026

एक Node.js QA योजना पूर्वानुमेय परीक्षण-कुंजी मामलों को एक छोटे लाइव CAPTCHA सॉल्वर जाँच से अलग करती है।
Node.js में CAPTCHA परीक्षण: परीक्षण कुंजियाँ और सॉल्वर जाँच

Node.js CAPTCHA परीक्षणों की योजना विक्रेता के टेस्ट कीज़, नियंत्रित सॉल्वर जाँचों और स्पष्ट अभिकथनों के साथ बनाएं। फ़ॉर्म रिग्रेशन को बाहरी सॉल्विंग विफलताओं से अलग रखें।

automation
Logo of CapSolver

Rajinder Singh

16-Oct-2026

सेलीनियम कैप्चा त्रुटि समाधान वर्कफ़्लो: सेटअप की जांच करें, पृष्ठ की तैयारी का इंतजार करें, फिर अनुप्रयोग परिणाम की पुष्टि करें।
सामान्य सेलेनियम CAPTCHA समस्याएं और उन्हें कैसे ठीक करें

सामान्य सीमेन्स कैप्चा एकीकरण समस्याओं को ठीक करने के लिए परीक्षण सेटिंग्स, एक्सटेंशन्स, वेट्स, इफ्रेम संदर्भ, सॉल्वर प्रतिक्रियाएं, और एप्लिकेशन परिणाम की जांच करें।

automation
Logo of CapSolver

Rajinder Singh

22-Sep-2026

SEO डेटा पाइपलाइन इतिहास और वर्तमान SERP साक्ष्य की तुलना कर रहा है जो पुष्टिकृत खोज इरादा विस्थापन की पहचान करता है।
खोज इरादा ड्रिफ्ट निगरानी एसईओ वर्कफ़्लो के लिए

खोज इरादा विचलन निगरानी के निर्माण के लिए, सर्च कंसोल डेटा, नियंत्रित सीरप अवलोकन, इरादा लेबल, विश्वास गेट्स, साक्ष्य और सुरक्षित स्वचालन के साथ।

automation
Logo of CapSolver

Rajinder Singh

31-Aug-2026

Gumloop CAPTCHA हल करने की प्रक्रिया HTTP पुनर्जीवन, निर्धारित रूटिंग, पुन: प्रयास नियंत्रण और मानव समीक्षा के साथ
गुमलूप CAPTCHA हल करना वेब वर्कफ़्लो में कैसे जोड़ें

गुमलूप CAPTCHA हल करने के लिए एक सत्यापित HTTP समझौता, नियंत्रित पुनर्प्राप्ति शाखा, पुनः प्रयास बजट, ब्राउज़र स्थिति जांच और मानव प्रतिस्थापन के साथ निर्माण करें।

automation
Logo of CapSolver

Rajinder Singh

21-Aug-2026