दस्तावेज़ब्राउज़र और CrawlAgent BrowserCDP API

CDP API

Scrapeless Agent Browser मानक सीडीपी (क्रोम डेवटूल्स प्रोटोकॉल) कार्यक्षमता का विस्तार करता है, ब्राउज़र स्वचालन क्षमताओं को बढ़ाने के लिए शक्तिशाली कस्टम फ़ंक्शन की एक श्रृंखला जोड़ता है। यह दस्तावेज़ मुख्य रूप से वेब पृष्ठों पर पाए जाने वाले CAPTCHA प्रकारों को संभालने से संबंधित सीडीपी फ़ंक्शन को कवर करता है।

CAPTCHA Solver विशेषताएँ

सुविधा अवलोकन

Agent Browser में उन्नत CAPTCHA समाधान क्षमताएँ शामिल हैं, जो वेब पृष्ठों पर पाए जाने वाले प्रचलित CAPTCHA प्रकारों को स्वचालित रूप से संभालती हैं।

समर्थित CAPTCHA प्रकार

  • reCaptcha
  • Cloudflare Turnstile
  • Cloudflare 5 सेकंड चुनौती
  • AWS WAF

इवेंट मॉनिटरिंग तंत्र

मुख्य इवेंट

कैप्चा हल करने की प्रक्रिया की निगरानी करने के लिए Agent Browser तीन मूल घटनाएं प्रदान करता है:

इवेंट नामविवरण
Captcha.detectedCAPTCHA का पता चला
Captcha.solveFinishedCAPTCHA हल करना समाप्त हुआ
Captcha.solveFailedCAPTCHA हल करने में विफल

इवेंट प्रतिक्रिया डेटा संरचना

फ़ील्डप्रकारविवरण
typestringCAPTCHA प्रकार: recaptcha turnstile
successbooleanहल करने का परिणाम
messagestringस्थिति संदेश: "NOT_DETECTED" "SOLVE_FINISHED" "SOLVE_FAILED" "INVALID"
token?stringसफलता पर लौटाया गया टोकन (वैकल्पिक)

कार्यान्वयन उदाहरण

// Listen for CAPTCHA solving events
const client = await page.createCDPSession();
 
client.on('Captcha.detected', (result) => {
  console.log('Captcha detected:', result);
});
 
await new Promise((resolve, reject) => {
  client.on('Captcha.solveFinished', (result) => {
    if (result.success) resolve();
  });
  client.on('Captcha.solveFailed', () =>
    reject(new Error('Captcha solve failed'))
  );
  setTimeout(() =>
      reject(new Error('Captcha solve timeout')),
    5 * 60 * 1000
  );
});

उन्नत कॉन्फ़िगरेशन API

कैप्चा सॉल्वर के व्यवहार पर सूक्ष्म नियंत्रण के लिए Agent Browser उन्नत API की एक श्रृंखला प्रदान करता है। निम्नलिखित API समर्थित हैं:

API नामविवरण
Captcha.setTokenCAPTCHA सेवा के लिए प्रमाणीकरण टोकन सेट करता है
Captcha.setConfigसभी CAPTCHA सॉल्वर पैरामीटर कॉन्फ़िगर करता है
Captcha.solveCAPTCHA हल करने की प्रक्रिया को मैन्युअल रूप से ट्रिगर करता है
Agent.clickएक माउस क्लिक का अनुकरण करता है
Agent.liveURLवर्तमान सत्र पृष्ठ का लाइव URL प्राप्त करें

विस्तृत API विवरण

1. Captcha.setConfig

CAPTCHA सॉल्वर के लिए सभी पैरामीटर कॉन्फ़िगर करता है।

await client.send('Captcha.setConfig', {
    config: JSON.stringify(
        {
            apiKey: "your-token",
            autoSolve: true,
            enabledForRecaptcha: true,
            enabledForRecaptchaV3: true,
            enabledForTurnstile: true
        }
    )
});

2. Captcha.solve

CAPTCHA हल करने की प्रक्रिया को मैन्युअल रूप से ट्रिगर करता है।

const { Puppeteer, createPuppeteerCDPSession } = require('@scrapeless-ai/sdk');
 
(async () => {
    const browser = await Puppeteer.connect({
      sessionName: 'sdk_test',
      sessionTTL: 180,
      proxyCountry: 'US',
      sessionRecording: true,
      defaultViewport: null
    });
    const page = await browser.newPage();
    await page.goto('https://www.scrapeless.com');
    const cdpSession = await createPuppeteerCDPSession(page);
 
    await cdpSession.solveCaptcha({ timeout: 30000 });
})();

3. Agent.click

एक माउस क्लिक का अनुकरण करता है।

const { Puppeteer, createPuppeteerCDPSession } = require('@scrapeless-ai/sdk');
 
(async () => {
    const browser = await Puppeteer.connect({
      sessionName: 'sdk_test',
      sessionTTL: 180,
      proxyCountry: 'US',
      sessionRecording: true,
      defaultViewport: null
    });
    const page = await browser.newPage();
    await page.goto('https://www.scrapeless.com');
    const cdpSession = await createPuppeteerCDPSession(page);
 
    await cdpSession.realClick('button');
})();

4. Agent.type

एक कीबोर्ड इनपुट का अनुकरण करता है।

const { Puppeteer, createPuppeteerCDPSession } = require('@scrapeless-ai/sdk');
 
(async () => {
    const browser = await Puppeteer.connect({
      sessionName: 'sdk_test',
      sessionTTL: 180,
      proxyCountry: 'US',
      sessionRecording: true,
      defaultViewport: null
    });
    const page = await browser.newPage();
    await page.goto('https://www.scrapeless.com');
    const cdpSession = await createPuppeteerCDPSession(page);
 
    await cdpSession.realFill('input', 'Hello, Scrapeless!');
})();

5. Agent.liveURL

वर्तमान सत्र पृष्ठ का लाइव URL प्राप्त करें।

const { Puppeteer, log as Log, createPuppeteerCDPSession } = require('@scrapeless-ai/sdk');
const logger = Log.withPrefix('puppeteer-example');
 
(async () => {
    const browser = await Puppeteer.connect({
      sessionName: 'sdk_test',
      sessionTTL: 180,
      proxyCountry: 'US',
      sessionRecording: true,
      defaultViewport: null
    });
    const page = await browser.newPage();
    await page.goto('https://www.scrapeless.com');
    const cdpSession = await createPuppeteerCDPSession(page);
 
    const { error, liveURL } = await cdpSession.liveURL();
    if (error) {
      logger.error('Failed to get current page URL:', error);
    } else {
      logger.info('Current page URL:', liveURL);
    }
    await browser.close();
})();

6. Captcha.imageToText

इमेज कैप्चा हल करें

const { Puppeteer, createPuppeteerCDPSession } = require('@scrapeless-ai/sdk');
 
const browser = await Puppeteer.connect({
  sessionName: 'sdk_test',
  sessionTTL: 180,
  proxyCountry: 'US',
  sessionRecording: true,
  defaultViewport: null
});
const page = await browser.newPage();
await page.goto('https://www.example.com');
const cdpSession = await createPuppeteerCDPSession(page);
 
await cdpSession.imageToText({
  imageSelector: '.captcha__image',
  inputSelector: 'input[name="captcha"]',
  timeout: 30000,
})