CDP API
Scrapeless Agent Browser मानक सीडीपी (क्रोम डेवटूल्स प्रोटोकॉल) कार्यक्षमता का विस्तार करता है, ब्राउज़र स्वचालन क्षमताओं को बढ़ाने के लिए शक्तिशाली कस्टम फ़ंक्शन की एक श्रृंखला जोड़ता है। यह दस्तावेज़ मुख्य रूप से वेब पृष्ठों पर पाए जाने वाले CAPTCHA प्रकारों को संभालने से संबंधित सीडीपी फ़ंक्शन को कवर करता है।
CAPTCHA Solver विशेषताएँ
सुविधा अवलोकन
Agent Browser में उन्नत CAPTCHA समाधान क्षमताएँ शामिल हैं, जो वेब पृष्ठों पर पाए जाने वाले प्रचलित CAPTCHA प्रकारों को स्वचालित रूप से संभालती हैं।
समर्थित CAPTCHA प्रकार
- reCaptcha
- Cloudflare Turnstile
- Cloudflare 5 सेकंड चुनौती
- AWS WAF
इवेंट मॉनिटरिंग तंत्र
मुख्य इवेंट
कैप्चा हल करने की प्रक्रिया की निगरानी करने के लिए Agent Browser तीन मूल घटनाएं प्रदान करता है:
| इवेंट नाम | विवरण |
|---|---|
Captcha.detected | CAPTCHA का पता चला |
Captcha.solveFinished | CAPTCHA हल करना समाप्त हुआ |
Captcha.solveFailed | CAPTCHA हल करने में विफल |
इवेंट प्रतिक्रिया डेटा संरचना
| फ़ील्ड | प्रकार | विवरण |
|---|---|---|
type | string | CAPTCHA प्रकार: recaptcha turnstile |
success | boolean | हल करने का परिणाम |
message | string | स्थिति संदेश: "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.setToken | CAPTCHA सेवा के लिए प्रमाणीकरण टोकन सेट करता है |
Captcha.setConfig | सभी CAPTCHA सॉल्वर पैरामीटर कॉन्फ़िगर करता है |
Captcha.solve | CAPTCHA हल करने की प्रक्रिया को मैन्युअल रूप से ट्रिगर करता है |
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,
})