এই পৃষ্ঠাটি Selenium টিমকে পরীক্ষা এবং অটোমেশন পাইপলাইনের জন্য স্থিতিশীল, পুনরাবৃত্তিযোগ্য ওয়ার্কফ্লো সহ ক্যাপচা সমাধানকে একীভূত করতে সহায়তা করে।
Death By Captcha (DBC) Selenium স্ক্রিপ্টগুলিকে ম্যানুয়াল ইন্টারঅ্যাকশনের পরিবর্তে API-র মাধ্যমে ক্যাপচা চ্যালেঞ্জ সমাধান করতে দেয়: আপনার স্ক্রিপ্ট পেজ থেকে চ্যালেঞ্জ প্যারামিটার বের করে, DBC থেকে সমাধান অনুরোধ করে, ফলাফল আবার পেজে বসিয়ে দেয় এবং ফ্লো চালিয়ে যায়। এই পেজটি কুইকস্টার্ট: ইনস্টলেশন, চালানো যোগ্য কোড উদাহরণ এবং সমর্থিত কাজের নোট।
Python:
pip install selenium deathbycaptcha-official
ক্লায়েন্টে আপনার DBC অ্যাকাউন্টের ক্রেডেনশিয়াল ব্যবহার করুন। ফ্লো চালানোর আগে অ্যাকাউন্ট তৈরি করুন এবং মূল্য ও ব্যালেন্স দেখুন।
import json
import os
import time
import deathbycaptcha
from selenium import webdriver
from selenium.webdriver.common.by import By
USERNAME = os.getenv('DBC_USERNAME')
PASSWORD = os.getenv('DBC_PASSWORD')
DEMO_URL = 'https://www.google.com/recaptcha/api2/demo'
def solve_recaptcha_v2(driver):
# 1. extract the challenge parameters from the page
sitekey = driver.find_element(By.ID, 'recaptcha-demo').get_attribute('data-sitekey')
token_params = json.dumps({'googlekey': sitekey, 'pageurl': DEMO_URL})
client = deathbycaptcha.SocketClient(USERNAME, PASSWORD)
if client.get_balance() <= 0:
raise SystemExit('No balance - top up before solving.')
# 2. request the solution token from DBC (type 4 = reCAPTCHA v2 token)
result = client.decode(type=4, token_params=token_params)
return result['text'] if result else None
driver = webdriver.Firefox()
driver.get(DEMO_URL)
token = solve_recaptcha_v2(driver)
if not token:
print('No solution yet - retry with backoff')
raise SystemExit(1)
# 3. inject the token back into the page
driver.execute_script("document.getElementById('g-recaptcha-response').value = arguments[0]", token)
# 4. submit and wait for the success element
driver.find_element(By.ID, 'recaptcha-demo-submit').click()
time.sleep(2)
print(driver.find_element(By.CLASS_NAME, 'recaptcha-success').text)
driver.quit()
সম্পূর্ণ চালানো যোগ্য সংস্করণ: অফিসিয়াল Python ক্লায়েন্ট রিপোজিটরিতে examples/deathbycaptcha-python-selenium
| প্রয়োজন | Selenium প্রসঙ্গ | ডিবিসি পথ |
|---|---|---|
| স্থিতিশীল টোকেন কর্মপ্রবাহ | বারবার অটোমেশন রানে ডিটারমিনিস্টিক হ্যান্ডলিং। | এপিআই-চালিত টোকেন প্রবাহ সুস্পষ্ট পুনরায় চেষ্টা/সময় সীমার সাথে। |
| কভারেজ টাইপ করুন | বিভিন্ন প্রকল্প বিভিন্ন চ্যালেঞ্জ ক্লাস আঘাত. | টাইপ-নির্দিষ্ট এন্ডপয়েন্ট ব্যবহার করুন এবং প্রতিটি দৃশ্যকল্প আলাদাভাবে যাচাই করুন। |
| অপারেশনাল সাপোর্ট | উৎপাদন সমস্যা দ্রুত নির্ণয়ের প্রয়োজন. | বৃদ্ধি এবং পরিকল্পনার জন্য সমর্থন এবং নির্ভরযোগ্যতা পৃষ্ঠ. |
| বিষয় | নোট |
|---|---|
| ক্যাপচা ধরন (API) | reCAPTCHA v2 ও v3, Cloudflare Turnstile, GeeTest, DataDome এবং ছবি/টেক্সট ক্যাপচা। |
| ফ্লো | পেজ থেকে sitekey বের করুন, DBC API (type 4) থেকে টোকেন অনুরোধ করুন, এটি আবার বসান এবং ফর্ম জমা দিন। |
| ব্যালান্স | সমাধানগুলি অ্যাকাউন্টের ব্যালেন্স থেকে পরিশোধিত হয়; ডিকোড করার আগে এটি পরীক্ষা করুন। |
| পুনরায় চেষ্টা | সমাধান না ফিরলে সাময়িক: অফিসিয়াল উদাহরণের মতো ব্যাকঅফ সহ আবার চেষ্টা করুন। |
| API বনাম এক্সটেনশন | এই ফ্লো আপনার স্ক্রিপ্টের ভেতরে API ব্যবহার করে; ব্রাউজার এক্সটেনশন হলো ম্যানুয়াল ব্রাউজিংয়ের নো-কোড পথ। |
| সমর্থিত ব্রাউজার | যেকোনো WebDriver-সমর্থিত ব্রাউজার; অফিসিয়াল নমুনা Firefox ও Chrome-এ চলে। |
Selenium ক্যাপচা সমাধানকারী স্থাপনার জন্য, প্রথমে স্থিতিশীল টোকেন প্রবাহ নিশ্চিত করুন, তারপর উত্পাদন পরিকল্পনা চূড়ান্ত করতে নির্ভরযোগ্যতা এবং মূল্যের পৃষ্ঠাগুলি সংযুক্ত করুন।