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 Name | Description |
---|---|
Captcha.detected | CAPTCHA detected |
Captcha.solveFinished | CAPTCHA solving finished |
Captcha.solveFailed | CAPTCHA solving failed |
Event Response Data Structure
Field | Type | Description |
---|---|---|
type | string | CAPTCHA type: recaptcha turnstile |
success | boolean | Solving result |
message | string | Status message: "NOT_DETECTED" "SOLVE_FINISHED" "SOLVE_FAILED" "INVALID" |
token? | string | Token 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 Name | Description |
---|---|
Captcha.setAutoSolve | Controls automatic CAPTCHA solving behavior |
Captcha.setToken | Sets the authentication token for the CAPTCHA service |
Captcha.setConfig | Configures all CAPTCHA solver parameters |
Captcha.solve | Manually triggers the CAPTCHA solving process |
Agent.click | Simulates a mouse click |
Agent.liveURL | Get 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,
})