Playwright ক্যাপচা সলভার ইন্টিগ্রেশন

যখন আপনার Playwright অটোমেশন প্রবাহের জন্য ব্যবহারিক API ইন্টিগ্রেশন নির্দেশিকা সহ একটি স্থিতিশীল ক্যাপচা সমাধানের পথ প্রয়োজন তখন এই পৃষ্ঠাটি ব্যবহার করুন৷

Death By Captcha (DBC) Playwright স্ক্রিপ্টগুলিকে ম্যানুয়াল ইন্টারঅ্যাকশনের পরিবর্তে API-র মাধ্যমে ক্যাপচা চ্যালেঞ্জ সমাধান করতে দেয়: আপনার স্ক্রিপ্ট পেজ থেকে চ্যালেঞ্জ প্যারামিটার বের করে, DBC থেকে সমাধান অনুরোধ করে, ফলাফল আবার পেজে বসিয়ে দেয় এবং ফ্লো চালিয়ে যায়। এই পেজটি কুইকস্টার্ট: ইনস্টলেশন, চালানো যোগ্য কোড উদাহরণ এবং সমর্থিত কাজের নোট।

ইনস্টলেশন

Node.js:

npm install playwright deathbycaptcha-lib

Python:

pip install deathbycaptcha-official

ক্লায়েন্টে আপনার DBC অ্যাকাউন্টের ক্রেডেনশিয়াল ব্যবহার করুন। ফ্লো চালানোর আগে অ্যাকাউন্ট তৈরি করুন এবং মূল্য ও ব্যালেন্স দেখুন।

কোড উদাহরণ: reCAPTCHA v2 টোকেন ফ্লো (Node.js), অফিসিয়াল চালানো যোগ্য উদাহরণ থেকে অনুকূলিত।

const { chromium } = require('playwright');
const { HttpClient } = require('deathbycaptcha-lib');

const client = new HttpClient(process.env.DBC_USERNAME, process.env.DBC_PASSWORD);
const DEMO_URL = 'https://www.google.com/recaptcha/api2/demo';

async function solveRecaptchaV2(pageUrl, sitekey) {
  const balance = await new Promise((resolve, reject) =>
    client.get_balance((b) => (b ? resolve(b) : reject(new Error('Could not read balance')))));
  if (balance <= 0) throw new Error('No balance - top up before solving.');

  return new Promise((resolve, reject) =>
    client.decode(
      { extra: { type: 4, token_params: JSON.stringify({ googlekey: sitekey, pageurl: pageUrl }) } },
      (solution) => (solution && solution.text ? resolve(solution.text) : reject(new Error('No solution yet - retry')))
    ));
}

(async () => {
  const browser = await chromium.launch();
  const page = await browser.newPage();
  await page.goto(DEMO_URL, { timeout: 60000 });

  // 1. extract the challenge parameters
  const sitekey = await page.getAttribute('#recaptcha-demo', 'data-sitekey');

  // 2. request the solution token from DBC (type 4 = reCAPTCHA v2 token)
  const token = await solveRecaptchaV2(DEMO_URL, sitekey);

  // 3. inject the token and trigger the page callback
  await page.evaluate((t) => {
    const el = document.getElementById('g-recaptcha-response');
    if (!el) return;
    el.style.display = 'block';
    el.value = t;
    el.dispatchEvent(new Event('input', { bubbles: true }));
    el.dispatchEvent(new Event('change', { bubbles: true }));
    const cfg = window.___grecaptcha_cfg;
    if (!cfg || !cfg.clients) return;
    for (const k of Object.keys(cfg.clients)) {
      const c = cfg.clients[k];
      for (const key of Object.keys(c)) {
        const item = c[key];
        if (item && typeof item.callback === 'function') return item.callback(t);
        if (item && item.W && typeof item.W.callback === 'function') return item.W.callback(t);
      }
    }
  }, token);

  // 4. submit and wait for success
  await page.click('#recaptcha-demo-submit');
  await page.waitForSelector('.recaptcha-success', { timeout: 15000 });

  console.log('solved');
  await browser.close();
})();

সম্পূর্ণ চালানো যোগ্য সংস্করণ: অফিসিয়াল Node.js ক্লায়েন্ট রিপোজিটরিতে examples/playwright

সাধারণ Playwright কর্মপ্রবাহ

  1. আপনার ব্রাউজার অটোমেশন ফ্লোতে চ্যালেঞ্জের ধরন সনাক্ত করুন।
  2. API এর মাধ্যমে চ্যালেঞ্জ প্যারামিটার জমা দিন।
  3. টার্গেট প্রবাহে ফেরত টোকেন/সলিউশন ইনজেক্ট করুন।
  4. সুস্পষ্ট টাইমআউট নীতির সাথে পুনরায় চেষ্টা এবং ব্যর্থতার রাউটিং পরিচালনা করুন।

সমর্থিত কাজের নোট

বিষয় নোট
ক্যাপচা ধরন (API) reCAPTCHA v2 ও v3, Cloudflare Turnstile, GeeTest, DataDome এবং ছবি/টেক্সট ক্যাপচা।
ব্যালান্স সমাধানগুলি অ্যাকাউন্টের ব্যালেন্স থেকে পরিশোধিত হয়; ডিকোড করার আগে এটি পরীক্ষা করুন।
পুনরায় চেষ্টা সমাধান না ফিরলে সাময়িক: অফিসিয়াল উদাহরণের মতো ব্যাকঅফ সহ আবার চেষ্টা করুন।
API বনাম এক্সটেনশন এই ফ্লো আপনার স্ক্রিপ্টের ভেতরে API ব্যবহার করে; ব্রাউজার এক্সটেনশন হলো ম্যানুয়াল ব্রাউজিংয়ের নো-কোড পথ।
সমর্থিত ব্রাউজার Playwright-এর মাধ্যমে Chromium, Firefox ও WebKit (নমুনা Chromium-এ যাচাই করা)।

ইন্টিগ্রেশন বিবেচনা

এলাকা কেন এটা গুরুত্বপূর্ণ প্রস্তাবিত অনুশীলন
প্রক্সি ধারাবাহিকতা টোকেন প্রবাহে যাচাইকরণের অমিলের ঝুঁকি হ্রাস করে। অটোমেশন প্রসঙ্গে পাথ সারিবদ্ধভাবে সমাধান এবং জমা দিন।
সময়সীমার শৃঙ্খলা সারি স্টল এবং ফ্ল্যাকি CI রান প্রতিরোধ করে। ডিটারমিনিস্টিক ফলব্যাক হ্যান্ডলিং সহ আবদ্ধ পুনঃপ্রচার ব্যবহার করুন।
টাইপ-নির্দিষ্ট হ্যান্ডলিং বিভিন্ন চ্যালেঞ্জ ক্লাসের জন্য বিভিন্ন পেলোড ক্ষেত্র প্রয়োজন। API প্রকারের পৃষ্ঠাগুলি থেকে শুরু করুন এবং একবারে একটি প্রকার যাচাই করুন৷

বাস্তবায়ন পরবর্তী ধাপ

Playwright ক্যাপচা সলভার রোলআউটের জন্য, প্রথমে একটি ক্যাপচা টাইপ যাচাই করুন, তারপর উৎপাদন স্কেলের জন্য নির্ভরযোগ্যতা এবং মূল্য যাচাই সহ কভারেজ প্রসারিত করুন।


স্ট্যাটাস: OK

সার্ভারগুলি গড় প্রতিক্রিয়া সময়ের চেয়ে দ্রুত কাজ করে।
  • গড় সমাধানের সময়
  • -- সেকেন্ড - Normal CAPTCHAs (1 মিনিট. আগে)
  • 16 সেকেন্ড - reCAPTCHA V2, V3 (1 মিনিট. আগে)
  • 15 সেকেন্ড - অন্যান্য (1 মিনিট. আগে)
Chrome and Firefox logos
ব্রাউজার এক্সটেনশন উপলব্ধ

আপডেট

  1. May 13: Crypto payments got better! You can now purchase your CAPTCHAs using cryptocurrency through the Hekelet payment processor at https://deathbycaptcha.com/user-pay and receive an extra 20% FREE CAPTCHA credit with every package purchased this way.
  2. Apr 15: GitHub Updates: We’ve upgraded our libraries, expanded sample code, enhanced documentation, and added support for C++ and Go, making integration smoother than ever. Explore what’s new at github.com/deathbycaptcha!
  3. Jan 27: RESOLVED - If your email to one of our official addresses ([email protected], [email protected], or [email protected]) has bounced or you haven’t received a response, please try resending it or reach out via our Live Chat Support at https://deathbycaptcha.com/es/contact.

  4. পূর্ববর্তী আপডেট…

সমর্থন

আমাদের সিস্টেমটি সম্পূর্ণরূপে ব্যবহারকারী-বান্ধব এবং সহজে ব্যবহার করার জন্য ডিজাইন করা হয়েছে। আপনার যদি এটির সাথে কোন সমস্যা হয় তবে আমাদের ইমেল করুন DBC প্রযুক্তিগত সহায়তা ইমেল com, এবং একজন সাপোর্ট এজেন্ট যত তাড়াতাড়ি সম্ভব আপনার কাছে ফিরে আসবে।

লাইভ সাপোর্ট

সোমবার থেকে শুক্রবার উপলব্ধ (10am থেকে 4pm EST) Live support image. Link to live support page