CAPSOLVER
ब्लॉग
Selenium का उपयोग करके Ruby में CAPTCHA कैसे हल करें

Selenium का उपयोग करके Ruby में CAPTCHA कैसे हल करें

Logo of CapSolver

Rajinder Singh

Deep Learning Researcher

29-Aug-2024

CAPTCHA, या Completely Automated Public Turing tests to tell Computers and Humans Apart, वेबसाइटों को स्वचालित बॉट्स से बचाने के लिए डिज़ाइन किए गए हैं। जबकि वे ऑनलाइन प्लेटफ़ॉर्म को सुरक्षित करने में महत्वपूर्ण भूमिका निभाते हैं, वे Selenium जैसे टूल के साथ कार्यों को स्वचालित करते समय एक महत्वपूर्ण बाधा हो सकते हैं। यदि आप Ruby में Selenium के साथ काम कर रहे हैं और CAPTCHA को हल करने की आवश्यकता है, तो यह मार्गदर्शिका उन्हें प्रभावी ढंग से संभालने के लिए एक चरण-दर-चरण दृष्टिकोण प्रदान करेगी।

Selenium और Ruby क्या हैं?

CAPTCHA को हल करने में उतरने से पहले, उन टूल को समझना आवश्यक है जिनके साथ आप काम करेंगे: Selenium और Ruby।

  • Selenium एक शक्तिशाली ओपन-सोर्स टूल है जिसका उपयोग वेब ब्राउज़र को स्वचालित करने के लिए किया जाता है। यह डेवलपर्स को वेब पेजों के साथ उपयोगकर्ता इंटरैक्शन को अनुकरण करने के लिए विभिन्न प्रोग्रामिंग भाषाओं में स्क्रिप्ट लिखने की अनुमति देता है, जिससे यह परीक्षण और वेब स्क्रैपिंग के लिए एक लोकप्रिय विकल्प बन जाता है।
  • Ruby एक गतिशील, ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग भाषा है जो अपनी सादगी और उत्पादकता के लिए जानी जाती है। इसका उपयोग अक्सर वेब डेवलपमेंट में किया जाता है, और जब Selenium के साथ जोड़ा जाता है, तो यह ब्राउज़र कार्यों को स्वचालित करने के लिए एक मजबूत ढांचा प्रदान करता है।

CAPTCHA और उनके प्रकारों को समझना

समाधान में उतरने से पहले, विभिन्न प्रकार के CAPTCHA को समझना महत्वपूर्ण है जिनका आप सामना कर सकते हैं:

  • ImageToText CAPTCHA: इनके लिए उपयोगकर्ता को विकृत छवि में प्रदर्शित वर्णों को दर्ज करना होता है। आप कुछ सामान्य मामले यहाँ पा सकते हैं
  • इमेज-आधारित CAPTCHA: उपयोगकर्ताओं को उन छवियों का चयन करने की आवश्यकता होती है जो किसी दिए गए मानदंड से मेल खाती हैं (जैसे, यातायात संकेतों वाली सभी छवियों का चयन करें)। ज्यादातर reCAPTCHA से
  • reCAPTCHA: Google का उन्नत CAPTCHA सिस्टम जो अक्सर छवियों में वस्तुओं को पहचानने या यह साबित करने के लिए कि आप एक बॉट नहीं हैं, केवल एक चेकबॉक्स पर क्लिक करने की आवश्यकता होती है।

शीर्ष CAPTCHA समाधानों के लिए अपना बोनस कोड प्राप्त करें; CapSolver: WEBS। इसे भुनाने के बाद, आपको प्रत्येक रिचार्ज के बाद अतिरिक्त 5% बोनस मिलेगा, असीमित

क्या Selenium Ruby CAPTCHA को हल कर सकता है?

डेवलपर्स के बीच सबसे आम प्रश्नों में से एक यह है कि क्या Ruby के साथ Selenium CAPTCHA को हल कर सकता है। संक्षिप्त उत्तर है: सीधे नहीं। Selenium में CAPTCHA को हल करने की अंतर्निहित क्षमता नहीं है क्योंकि वे विशेष रूप से मानव उपयोगकर्ताओं और बॉट्स के बीच अंतर करने के लिए डिज़ाइन किए गए हैं।
हालांकि, Selenium Ruby में CAPTCHA को संभालने के कई तरीके हैं:

  1. मैन्युअल हस्तक्षेप: कुछ मामलों में, डेवलपर्स स्वचालन प्रक्रिया के दौरान मैन्युअल रूप से CAPTCHA को हल करते हैं। हालाँकि, यह पूर्ण स्वचालन के उद्देश्य को विफल करता है।
  2. थर्ड-पार्टी CAPTCHA सॉल्वर: सबसे प्रभावी तरीका CapSolver जैसी तृतीय-पक्ष सेवाओं को एकीकृत करना है जो उन्नत एल्गोरिदम और मानव बुद्धिमत्ता का उपयोग करके CAPTCHA को हल करने में विशेषज्ञता रखते हैं।
  3. सरल CAPTCHA को हल करना: बहुत ही बुनियादी टेक्स्ट CAPTCHA के लिए, डेवलपर्स पैटर्न को पहचानने के लिए कस्टम स्क्रिप्ट लिख सकते हैं, हालांकि यह दृष्टिकोण सीमित है और अक्सर अविश्वसनीय होता है।

जबकि Selenium Ruby अपने आप CAPTCHA को हल नहीं कर सकता है, सही उपकरणों और सेवाओं के साथ, CAPTCHA को दरकिनार करने की प्रक्रिया को स्वचालित करना पूरी तरह से संभव है, जिसकी हम इस मार्गदर्शिका में खोज करेंगे।

Ruby में Selenium सेट करना

तैयारी

  • Google Chrome: Chrome ब्राउज़र का नवीनतम संस्करण स्थापित करें, क्योंकि हम Chrome के साथ इंटरैक्ट करने के लिए कोड का उपयोग करेंगे।
  • Ruby: सुनिश्चित करें कि आपके कंप्यूटर पर Ruby स्थापित है।
  • Selenium-webdriver: स्वचालन टूल Selenium के लिए Ruby लाइब्रेरी।
  • CapSolver: आधिकारिक CapSolver दस्तावेज़ CAPTCHA को हल करने में आपकी मदद करेगा।

एक बार आपके कंप्यूटर पर Ruby स्थापित हो जाने के बाद, आप gem install selenium-webdriver कमांड चलाकर Selenium WebDriver लाइब्रेरी स्थापित कर सकते हैं। अपने Chrome संस्करण की जाँच करें, और उसके आधार पर, संबंधित chromedriver.exe ड्राइवर डाउनलोड करें। आप डाउनलोड लिंक निम्नलिखित स्थानों पर पा सकते हैं:

  • डाउनलोड लिंक 1: ड्राइवर के नवीनतम स्थिर, बीटा, देव और कैनरी संस्करण प्रदान करता है।
  • डाउनलोड लिंक 2: संस्करण 113 से आगे के सभी ड्राइवर प्रदान करता है।
  • डाउनलोड लिंक 3: संस्करण 113 से पहले के सभी ड्राइवर प्रदान करता है।

लक्षित वेबसाइट का विश्लेषण

हम reCAPTCHA को Ruby Selenium का उपयोग करके हल करने के उदाहरण के रूप में https://recaptcha-demo.appspot.com/recaptcha-v2-checkbox.php वेबसाइट का उपयोग करेंगे।

शुरू करने से पहले, हमें HTML फॉर्म सबमिशन की मूल बातों को समझने की आवश्यकता है। इस पृष्ठ को देखकर और डेवलपर टूल खोलकर, हम मैन्युअल रूप से reCAPTCHA को हल कर सकते हैं और फिर सबमिट बटन पर क्लिक कर सकते हैं। यह क्रिया एक POST अनुरोध भेजती है, तीन फ़ील्ड सबमिट करती है: ex-a, ex-b, और g-recaptcha-response, जैसा कि नीचे दिखाया गया है:

ये तीन फ़ील्ड प्रारंभिक HTML स्रोत कोड में फ़ॉर्म के अंतर्गत दो इनपुट तत्वों और एक टेक्स्टएरिया तत्व के अनुरूप हैं, जैसा कि नीचे दिखाया गया है:

Ruby Selenium के साथ प्रक्रिया को स्वचालित करना

हम Ruby Selenium का उपयोग करके पूरी प्रक्रिया को कैसे स्वचालित कर सकते हैं? चरण इस प्रकार हैं:

  1. Ruby लक्षित वेबसाइट पर जाने के लिए Selenium को चलाता है।
  2. Ruby reCAPTCHA को हल करने और एक टोकन प्राप्त करने के लिए CapSolver API को कॉल करता है।
  3. टेक्स्टएरिया तत्व की CSS शैली को display: none से display: block में बदलें ताकि इसे Selenium के साथ इंटरैक्टिव बनाया जा सके।
  4. CapSolver द्वारा लौटाए गए टोकन को टेक्स्टएरिया तत्व में दर्ज करने का अनुकरण करें।
  5. फ़ॉर्म सबमिट करने और सत्यापन पूरा करने के लिए सबमिट बटन पर क्लिक करने का अनुकरण करें।

Ruby Selenium के साथ लक्षित वेबसाइट पर जाना

सुनिश्चित करें कि आप नीचे दिए गए कोड में driver_path को अपने कंप्यूटर पर chromedriver के वास्तविक पथ से बदल देते हैं।

ruby Copy
require 'selenium-webdriver'

# Chrome ब्राउज़र विकल्पों को इनिशियलाइज़ करें और लक्षित वेबसाइट तक पहुँचें
driver_path = "path/to/chromedriver.exe"
options = Selenium::WebDriver::Chrome::Options.new
service = Selenium::WebDriver::Service.chrome(path: driver_path)
driver = Selenium::WebDriver.for :chrome, options: options, service: service
url = "https://recaptcha-demo.appspot.com/recaptcha-v2-checkbox.php"
driver.navigate.to url

टोकन प्राप्त करना

CapSolver API का उपयोग करने के लिए, हमें websiteKey प्रदान करने की आवश्यकता है, जो पृष्ठ स्रोत में कीवर्ड data-sitekey की खोज करके पाया जा सकता है:

अब, आइए reCAPTCHA को स्वचालित रूप से हल करने के लिए CapSolver API का उपयोग करने के लिए Ruby कोड लिखें:

ruby Copy
require 'net/http'
require 'json'
require 'time'

def cap_solver(api_key, public_key, page_url)
  payload = {
    "clientKey" => api_key,
    "task" => {
      "type" => 'ReCaptchaV2TaskProxyLess',
      "websiteKey" => public_key,
      "websiteURL" => page_url,
    }
  }

  # एक कार्य निर्माण अनुरोध भेजें
  uri = URI("https://api.capsolver.com/createTask")
  res = Net::HTTP.post(uri, payload.to_json, { "Content-Type" => "application/json" })
  resp = JSON.parse(res.body)
  task_id = resp["taskId"]

  unless task_id
    puts "कार्य बनाने में विफल: #{res.body}"
    return
  end

  puts "Got taskId: #{task_id}"

  # कार्य परिणाम प्राप्त करने के लिए प्रतीक्षा लूप
  loop do
    sleep(1)
    payload = { "clientKey" => api_key, "taskId" => task_id }
    uri = URI("https://api.capsolver.com/getTaskResult")
    res = Net::HTTP.post(uri, payload.to_json, { "Content-Type" => "application/json" })
    resp = JSON.parse(res.body)
    status = resp["status"]
    if status == "ready"
      token = resp.dig("solution", "gRecaptchaResponse")
      puts "समाधान सफल, टोकन: #{token}"
      return token
    elsif status == "processing"
      puts "समाधान प्रगति पर है..."
    elsif status == "failed"
      puts "समाधान विफल! प्रतिक्रिया: #{res.body}"
      return
    end
  end
end

Selenium में टोकन का उपयोग करना

अगला, हमें टोकन को वेबपेज में इनपुट करने, स्वचालित रूप से सबमिट पर क्लिक करने और पूरी प्रक्रिया को पूरा करने की आवश्यकता है। आइए सभी कोड को मिलाएँ; पूरा कोड इस प्रकार है (अपनी स्वयं की कुंजी के साथ cap_solver_api_key को बदलना सुनिश्चित करें, जो CapSolver डैशबोर्ड में पाई जा सकती है):

ruby Copy
require 'selenium-webdriver'
require 'net/http'
require 'json'
require 'time'

def cap_solver(api_key, website_key, page_url)
  payload = {
    "clientKey" => api_key,
    "task" => {
      "type" => 'ReCaptchaV2TaskProxyLess',
      "websiteKey" => website_key,
      "websiteURL" => page_url,
    }
  }

  # एक कार्य निर्माण अनुरोध भेजें
  uri = URI("https://api.capsolver.com/createTask")
  res = Net::HTTP.post(uri, payload.to_json, { "Content-Type" => "application/json" })
  resp = JSON.parse(res.body)
  task_id = resp["taskId"]

  unless task_id
    puts "कार्य बनाने में विफल: #{res.body}"
    return
  end

  puts "Got taskId: #{task_id}"

  # कार्य परिणाम प्राप्त करने के लिए प्रतीक्षा लूप
  loop do
    sleep(1)
    payload = { "clientKey" => api_key, "taskId" => task_id }
    uri = URI("https://api.capsolver.com/getTaskResult")
    res = Net::HTTP.post(uri, payload.to_json, { "Content-Type" => "application/json" })
    resp = JSON.parse(res.body)
    status = resp["status"]
    if status == "ready"
      token = resp.dig("solution", "gRecaptchaResponse")
      puts "समाधान सफल, टोकन: #{token}"
      return token
    elsif status == "processing"
      puts "समाधान प्रगति पर है..."
    elsif status == "failed"
      puts "समाधान विफल! प्रतिक्रिया: #{res.body}"
      return
    end
  end
end

# Chrome ब्राउज़र विकल्पों को इनिशियलाइज़ करें और लक्षित वेबसाइट तक पहुँचें
driver_path = "path/to/chromedriver.exe"
options = Selenium::WebDriver::Chrome::Options.new
service = Selenium::WebDriver::Service.chrome(path: driver_path)
driver = Selenium::WebDriver.for :chrome, options: options, service: service
url = "https://recaptcha-demo.appspot.com/recaptcha-v2-checkbox.php"
driver.navigate.to url

# ReCaptcha को हल करने के लिए CapSolver API को कॉल करें
cap_solver_api_key = 'YOUR_API_KEY'
website_key = '6LfW6wATAAAAAHLqO2pb8bDBahxlMxNdo9g947u9'
token = cap_solver(cap_solver_api_key, website_key, url)
if token.nil? || token.empty?
  puts "captcha को हल करने में विफल, बाहर निकलने के लिए कोई भी कुंजी दबाएँ।"
  STDIN.gets
  driver.quit
  return
end

# इसे दिखाई देने के लिए टेक्स्टएरिया की प्रदर्शन शैली संपत्ति को ब्लॉक में बदलें
driver.execute_script("document.getElementById('g-recaptcha-response').style.display = 'block';")
# टेक्स्टएरिया में टोकन इनपुट करने का अनुकरण करें
textarea = driver.find_element(id: 'g-recaptcha-response')
textarea.send_keys(token)
# क्लिक करने और एक फॉर्म सबमिट करने का अनुकरण करें
submit_btn = driver.find_element(css: "button[type='submit']")
submit_btn.click

puts "बाहर निकलने के लिए कोई भी कुंजी दबाएँ।"
STDIN.gets
driver.quit

उपरोक्त कोड चलाएँ और आप देखेंगे कि recaptcha सफलतापूर्वक हल हो गया है।

अधिक जानकारी

CapSolver सेकंडों में CAPTCHA को हल करने में आपकी मदद करने के लिए AI-आधारित स्वचालित वेब अनलॉक तकनीक का उपयोग करता है। यह न केवल reCAPTCHA बल्कि Cloudflare Turnstile और बहुत कुछ भी हल कर सकता है। CapSolver कई भाषाओं में SDK के साथ-साथ ब्राउज़र एक्सटेंशन भी प्रदान करता है। अधिक जानकारी के लिए आप CapSolver दस्तावेज़ का संदर्भ ले सकते हैं।

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

अधिक

क्लाउडफ़्लेर त्रुटि 1006, 1007, 1008
क्लाउडफ़्लेयर त्रुटि 1006, 1007, 1008 हल करने का समाधान | कैसे ठीक करें

क्लाउडफ़ेयर त्रुटि 1006, 1007 या 1008 के साथ परेशान हैं? इन एक्सेस अस्वीकृतियों को हल करने और अपने वेब क्रॉलिंग अनुभव को बढ़ाने के लिए व्यावहारिक समाधान सीखें।

Cloudflare
Logo of CapSolver

Nikolai Smirnov

05-Dec-2025

AI-LLM: भविष्य का समाधान रिस्क नियंत्रण के लिए छवि पहचान एवं CAPTCHA हल करना
एआई-एलएलएम: जोखिम नियंत्रण छवि संज्ञान और कैप्चा हल करने के लिए भविष्य का समाधान

एक गहरा अध्ययन कैसे बड़े भाषा मॉडल ग्राफिकल कैप्चा हल करते हैं, शून्य-शॉट तर्क और CNN की यथार्थता के संयोजन के माध्यम से आधुनिक जोखिम नियंत्रण के लिए।

Logo of CapSolver

Rajinder Singh

05-Dec-2025

कैप्चा कैसे हल करें जब वेब स्क्रैपिंग करते हैं Scrapling और CapSolver के साथ
कैप्चा कैसे हल करें जब वेब स्क्रैपिंग करते हैं Scrapling और CapSolver के साथ

स्क्रैपलिंग + कैपसॉल्वर रीकैपचा v2/v3 और क्लाउडफ़्लेयर टर्नस्टाइल बायपास के साथ स्वचालित स्क्रैपिंग सक्षम करता है।

web scraping
Logo of CapSolver

Rajinder Singh

05-Dec-2025

सेलेनियम में यूजर-एजेंट बदलें
यूजर-एजेंट बदलें | सेलेनियम में चरण एवं शीर्ष विधियां

Selenium में User Agent बदलना बहुत सारे वेब स्क्रैपिंग कार्यों के लिए एक महत्वपूर्ण कदम है। यह ऑटोमेशन स्क्रिप्ट को एक सामान्य ब्राउज़र के रूप में छिपाने में मदद करता है...

The other captcha
Logo of CapSolver

Lucas Mitchell

05-Dec-2025

कैपसॉल्वर एक्सटेंशन के साथ क्लाउडफ़्लेयर टर्नस्टाइल को हल करने के लिए `क्रियाकलाप` के लिए आवश्यक है कैसे निर्धारित करें
कैसे पहचानें कि `कार्य` क्लाउडफ़ेयर टर्नस्टाइल को हल करने के लिए आवश्यक है कैपसॉल्वर एक्सटेंशन के साथ

क्लाउडफ़्लेयर टर्नस्टाइल प्रभावी कैप्चा हल करने के लिए कार्रवाई की पहचान सीखें। Capsolver के उपकरणों और तकनीकों का उपयोग करने के लिए हमारे चरण-दर-चरण गाइड का अनुसरण करें।

Cloudflare
Logo of CapSolver

Rajinder Singh

05-Dec-2025

9प्रॉक्सी
9Proxy की शक्ति की खोज करें: व्यापक समीक्षा

इस लेख में, हम आपको 9proxy क्या है और जो वे प्रदान करते हैं सेवाएं दिखाएंगे।

web scraping
Logo of CapSolver

Rajinder Singh

04-Dec-2025