CDP API

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

CAPTCHA Solver Features

Feature Overview

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

Supported CAPTCHA Types

  • reCaptcha
  • Cloudflare Turnstile
  • Cloudflare 5s Challenge
  • AWS WAF

Event Monitoring Mechanism

Core Events

Scraping Browser CAPTCHA समाधान प्रक्रिया की निगरानी के लिए तीन मुख्य ईवेंट प्रदान करता है:

Event NameDescription
Captcha.detectedCAPTCHA detected
Captcha.solveFinishedCAPTCHA solving finished
Captcha.solveFailedCAPTCHA solving failed

Event Response Data Structure

FieldTypeDescription
typestringCAPTCHA type: recaptcha turnstile
successbooleanSolving result
messagestringStatus message: "NOT_DETECTED" "SOLVE_FINISHED" "SOLVE_FAILED" "INVALID"
token?stringToken returned on success (optional)

Implementation Example

// 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
  );
});

Advanced Configuration API

Scraping Browser CAPTCHA solver के व्यवहार पर बारीक नियंत्रण के लिए उन्नत API की एक श्रृंखला प्रदान करता है। निम्नलिखित API समर्थित हैं:

API NameDescription
Captcha.setAutoSolveControls automatic CAPTCHA solving behavior
Captcha.setTokenSets the authentication token for the CAPTCHA service
Captcha.setConfigConfigures all CAPTCHA solver parameters
Captcha.solveManually triggers the CAPTCHA solving process
Agent.clickSimulates a mouse click
Agent.liveURLGet live url of current session page

Detailed API Description

1. Captcha.setConfig

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

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,
})
Last updated on