
Rajinder Singh
Deep Learning Researcher

AI ब्राउज़र एजेंट वेब के साथ विकासकर्ताओं के अंतरक्रिया के तरीके को बदल रहे हैं। डेटा निकालने से लेकर कार्यप्रवाह के स्वचालन तक, ये एजेंट पृष्ठों के माध्यम से नेविगेट करते हैं, फॉर्म भरते हैं और मानव हस्तक्षेप के बिना जानकारी निकालते हैं। लेकिन जब एक CAPTCHA दिखाई देता है, तो एजेंट रुक जाता है।
HyperBrowser AI एजेंट के लिए विशेष रूप से डिज़ाइन किया गया क्लाउड-आधारित ब्राउज़र इंफ्रास्ट्रक्चर प्रदान करता है, जिसमें Turnstile और reCAPTCHA के लिए मूल (नैटिव) CAPTCHA हल करने की क्षमता होती है। लेकिन वेब में दो से अधिक CAPTCHA प्रकार हैं। AWS WAF, GeeTest, एंटरप्राइज reCAPTCHA वेरिएंट और अन्य एंटी-बॉट चुनौतियां नैटिव टूलिंग के साथ हल नहीं होती हैं।
CapSolver इस अंतर को पूरा करता है। HyperBrowser के एक्सटेंशन API के माध्यम से अपने CapSolver एक्सटेंशन को सीधे अपलोड करके, आप हर सेशन, हर CAPTCHA प्रकार और हर पैमाने पर पूर्ण CAPTCHA कवरेज प्राप्त करते हैं, बिना अपने स्वचालन को बदले।
HyperBrowser AI एजेंट के लिए विशेष रूप से डिज़ाइन किया गया क्लाउड ब्राउज़र इंफ्रास्ट्रक्चर प्लेटफॉर्म है। यह निर्मित ब्राउज़र सेशन्स के साथ नैटिव च्रोम डेवलपर्स टूल्स प्रोटोकॉल (CDP) एक्सेस, प्रॉक्सी समर्थन और एंटी-डिटेक्शन क्षमताएं आउट ऑफ द बॉक्स प्रदान करता है।
HyperBrowser ब्राउज़र स्वचालन के ऑपरेशनल भार को हटा देता है। च्रोमियम बाइनरी, हेडलेस कॉन्फ़िगरेशन, प्रॉक्सी रोटेशन और एंटी-फिंगरप्रिंटिंग के प्रबंधन के बजाय, आपको एक साफ़ API मिलता है जो एक वेबसॉकेट यूआरएल वापस करता है। अपने Playwright या Puppeteer स्क्रिप्ट को जोड़ें और स्वचालन शुरू करें।
CapSolver विभिन्न CAPTCHA चुनौतियों को पार करने के लिए AI-आधारित समाधान प्रदान करने वाली एक नेतृत्वकर वेबसाइट है। विभिन्न CAPTCHA प्रकारों के समर्थन और तेज उत्तर समय के साथ, CapSolver स्वचालित वर्कफ्लो में बिना किसी असुविधा के एम्बेड किया जा सकता है।
समाधान के लिए एकीकरण सेट करने से पहले, सुनिश्चित करें कि आपके पास निम्न हैं:
@hyperbrowser/sdk और playwright-core स्थापित होnpm install @hyperbrowser/sdk playwright-core
CAP-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX)CapSolver च्रोम एक्सटेंशन डाउनलोड करें और अपने API कुंजी के साथ कॉन्फ़िगर करें:
CapSolver.Browser.Extension-chrome-vX.X.X.zip डाउनलोड करेंmkdir -p capsolver-extension
unzip CapSolver.Browser.Extension-chrome-v*.zip -d capsolver-extension/
capsolver-extension/assets/config.js खोलें और अपना API कुंजी सेट करें:export const defaultConfig = {
apiKey: 'CAP-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX', // आपका कुंजी यहां है
useCapsolver: true,
// ... अन्य कॉन्फ़िगरेशन
};
ls capsolver-extension/manifest.json
# अस्तित्व में होना चाहिए
HyperBrowser के एक्सटेंशन अपलोड API के लिए एक ZIP फ़ाइल की आवश्यकता होती है। कॉन्फ़िगर किए गए एक्सटेंशन को पैक करें:
cd capsolver-extension && zip -r ../capsolver-extension.zip . && cd ..
इससे आपके प्रोजेक्ट रूट में capsolver-extension.zip बन जाता है, जो अपलोड के लिए तैयार होता है।
HyperBrowser SDK का उपयोग करके एक्सटेंशन अपलोड करें। यह केवल एक बार करना होता है — वापस मिले extensionId का उपयोग सभी सेशन में किया जा सकता है।
import { Hyperbrowser } from "@hyperbrowser/sdk";
const client = new Hyperbrowser({
apiKey: process.env.HYPERBROWSER_API_KEY,
});
// CapSolver एक्सटेंशन अपलोड करें (एक बार कार्य)
const ext = await client.extensions.create({
filePath: "capsolver-extension.zip",
});
console.log("एक्सटेंशन आईडी:", ext.id);
// इस आईडी को संग्रहीत करें — आप हर सेशन के लिए इसका उपयोग करेंगे
टिप्पणी:
ext.idको अपने वातावरण चर या कॉन्फ़िगरेशन में संग्रहीत करें। आपको केवल एक्सटेंशन संस्करण या API कुंजी बदलने पर फिर से अपलोड करना होगा।
एक एक्सटेंशन के साथ HyperBrowser सेशन बनाएं:
const session = await client.sessions.create({
extensionIds: [ext.id],
useProxy: true, // भुगतान योग्य योजना की आवश्यकता होती है — मुफ्त स्तर के लिए हटा दें
solveCaptchas: false, // CapSolver का उपयोग कर रहे हैं
});
console.log("सेशन आईडी:", session.id);
console.log("वेबसॉकेट यूआरएल:", session.wsEndpoint);
नोट: CapSolver का उपयोग करते समय solveCaptchas: false सेट करें ताकि दोनों समाधान तकनीकों के बीच संघर्ष न हो। यदि आप दोनों के रूप में एक फॉलबैक श्रृंखला के रूप में उपयोग करना चाहते हैं, तो नीचे "नैटिव के बजाय CapSolver कब उपयोग करें" विभाग देखें।
वेबसॉकेट एंडपॉइंट के माध्यम से Playwright को सेशन से जोड़ें:
import { chromium } from "playwright-core";
const browser = await chromium.connectOverCDP(session.wsEndpoint);
const context = browser.contexts()[0];
const page = context.pages()[0] || await context.newPage();
// CAPTCHA-सुरक्षित पृष्ठ पर जाएं
await page.goto("https://www.google.com/recaptcha/api2/demo");
// CapSolver एक्सटेंशन द्वारा CAPTCHA के पता लगाने और हल करने के लिए प्रतीक्षा करें
await page.waitForTimeout(30000);
// फॉर्म जमा करें
await page.click("#recaptcha-demo-submit");
await page.waitForLoadState("networkidle");
// सफलता की जांच करें
const result = await page.textContent("body");
console.log("परिणाम:", result);
// अपेक्षित: "सत्यापन सफलता" शामिल होता है
await browser.close();
await client.sessions.stop(session.id);
यह पूर्ण एंड-टू-एंड स्क्रिप्ट एक्सटेंशन अपलोड करती है, सेशन बनाती है, CAPTCHA हल करती है और परिणाम की जांच करती है:
import { Hyperbrowser } from "@hyperbrowser/sdk";
import { chromium } from "playwright-core";
const HYPERBROWSER_API_KEY = process.env.HYPERBROWSER_API_KEY!;
const CAPSOLVER_EXTENSION_ID = process.env.CAPSOLVER_EXTENSION_ID; // वैकल्पिक: विद्यमान आईडी का उपयोग करें
async function main() {
const client = new Hyperbrowser({ apiKey: HYPERBROWSER_API_KEY });
// चरण 1: एक्सटेंशन अपलोड करें (या विद्यमान आईडी का उपयोग करें)
let extensionId = CAPSOLVER_EXTENSION_ID;
if (!extensionId) {
const ext = await client.extensions.create({
filePath: "capsolver-extension.zip",
});
extensionId = ext.id;
console.log("एक्सटेंशन अपलोड किया गया:", extensionId);
}
// चरण 2: CapSolver एक्सटेंशन के साथ सेशन बनाएं
const session = await client.sessions.create({
extensionIds: [extensionId],
useProxy: true, // भुगतान योग्य योजना की आवश्यकता होती है — मुफ्त स्तर के लिए हटा दें
solveCaptchas: false,
});
console.log("सेशन शुरू किया गया:", session.id);
// चरण 3: Playwright को जोड़ें
const browser = await chromium.connectOverCDP(session.wsEndpoint);
const context = browser.contexts()[0];
const page = context.pages()[0] || await context.newPage();
try {
// चरण 4: reCAPTCHA डेमो पर जाएं
console.log("reCAPTCHA डेमो पर जाएं...");
await page.goto("https://www.google.com/recaptcha/api2/demo");
// चरण 5: CapSolver द्वारा CAPTCHA हल करने के लिए प्रतीक्षा करें
console.log("CapSolver द्वारा CAPTCHA हल करने के लिए प्रतीक्षा करें...");
await page.waitForTimeout(30000);
// चरण 6: फॉर्म जमा करें
console.log("फॉर्म जमा करें...");
await page.click("#recaptcha-demo-submit");
await page.waitForLoadState("networkidle");
// चरण 7: परिणाम की जांच करें
const bodyText = await page.textContent("body");
if (bodyText?.includes("Verification Success")) {
console.log("CAPTCHA सफलतापूर्वक हल हो गया!");
} else {
console.log("सत्यापन परिणाम:", bodyText?.slice(0, 200));
}
} finally {
await browser.close();
await client.sessions.stop(session.id);
console.log("सेशन बंद कर दिया गया।");
}
}
main().catch(console.error);
इसे चलाएं:
HYPERBROWSER_API_KEY=your_key npx tsx captcha-test.ts
एक्सटेंशन अपलोड से लेकर CAPTCHA हल तक पूरा प्रवाह नीचे दिया गया है:
एक बार के सेटअप
═══════════════════════════════════════════════════════
capsolver-extension/ HyperBrowser क्लाउड
├── manifest.json ──ZIP──► POST /extensions
├── assets/config.js │
└── background.js ▼
extensionId: "ext_abc123"
(संग्रहीत, पुन: उपयोग किया जा सकता है)
प्रत्येक सेशन प्रवाह
═══════════════════════════════════════════════════════
आपका स्क्रिप्ट HyperBrowser क्लाउड
─────────────────────────────────────────────────────
sessions.create({ ──► क्लाउड च्रोमियम शुरू करें
extensionIds: [id], │
useProxy: true ├── CapSolver एक्सटेंशन लोड करें
}) ├── प्रॉक्सी + स्टील्थ लागू करें
▼
◄── wsEndpoint (वेबसॉकेट यूआरएल)
playwright.connectOverCDP() क्लाउड ब्राउज़र से जुड़ें
│
▼
page.goto(target_url) ──► च्रोमियम पृष्ठ लोड करता है
┌─────────────────────────────┐
│ CAPTCHA विज़ार्ड वाला पृष्ठ │
│ │
│ CapSolver एक्सटेंशन: │
│ 1. कॉन्टेंट स्क्रिप्ट पृष्ठ पर ज्ञात CAPTCHA प्रकार की जांच करता है │
│ 2. सेवा वर्कर CapSolver API कॉल करता है │
│ 3. समाधान टोकन प्राप्त होता है │
│ 4. टोकन छिपे फॉर्म फ़ील्ड में डाला जाता है │
└─────────────────────────────┘
│
page.waitForTimeout(30s) │ (हल यहां होता है)
│ │
▼ ▼
page.click("Submit") ──► वैध टोकन के साथ फॉर्म जमा होता है
│
◄── ▼
Google डेमो: "Verification Success!"
CapSolver च्रोम एक्सटेंशन के माध्यम से एक अहम लाभ है: एक्सटेंशन ब्राउज़र संदर्भ में चलता है। इसका मतलब है:
createTask() / getTaskResult() / लॉजिक डालने की आवश्यकता नहीं होती — यह सभी एक्सटेंशन द्वारा हल किया जाता है// सम्पूर्ण: CapSolver एक्सटेंशन
const session = await client.sessions.create({
extensionIds: [capsolverExtId],
solveCaptchas: false,
useProxy: true, // भुगतान योग्य योजना की आवश्यकता होती है — मुफ्त स्तर के लिए हटा दें
});
अधिक विश्वसनीयता के लिए, आप दोनों को सक्षम कर सकते हैं। नैटिव हल बिना किसी अतिरिक्त लागत के Turnstile/reCAPTCHA को हल करता है, और CapSolver अन्य सभी को हल करता है:
// बेल्ट एंड स्पेंडर्स: दोनों सक्षम
const session = await client.sessions.create({
extensionIds: [capsolverExtId],
solveCaptchas: true, // नैटिव Turnstile/reCAPTCHA हल करता है
useProxy: true, // भुगतान योग्य योजना की आवश्यकता होती है — मुफ्त स्तर के लिए हटा दें
const HYPERBROWSER_API_KEY = process.env.HYPERBROWSER_API_KEY!;
const CAPSOLVER_API_KEY = process.env.CAPSOLVER_API_KEY!;
async function solveCaptchaViaAPI(
pageUrl: string,
siteKey: string
): Promise<string> {
// टास्क बनाएं
const createRes = await fetch("https://api.capsolver.com/createTask", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
clientKey: CAPSOLVER_API_KEY,
task: {
type: "ReCaptchaV2TaskProxyLess",
websiteURL: pageUrl,
websiteKey: siteKey,
},
}),
});
const { taskId, errorDescription } = await createRes.json();
if (!taskId) throw new Error(`createTask विफल रहा: ${errorDescription}`);
// परिणाम के लिए पॉल
for (let i = 0; i < 40; i++) {
await new Promise((r) => setTimeout(r, 3000));
const resultRes = await fetch("https://api.capsolver.com/getTaskResult", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({ clientKey: CAPSOLVER_API_KEY, taskId }),
});
const result = await resultRes.json();
if (result.status === "ready") {
return result.solution.gRecaptchaResponse;
}
}
throw new Error("समाधान समय सीमा पार हो गई");
}
async function main() {
const client = new Hyperbrowser({ apiKey: HYPERBROWSER_API_KEY });
// कोई एक्सटेंशन की आवश्यकता नहीं है — बस एक साधारण सेशन
const session = await client.sessions.create({
solveCaptchas: false,
});
const browser = await chromium.connectOverCDP(session.wsEndpoint);
const context = browser.contexts()[0];
const page = context.pages()[0] || await context.newPage();
try {
await page.goto("https://www.google.com/recaptcha/api2/demo");
// DOM से sitekey का पता लगाएं
const siteKey = await page.evaluate(() => {
const el = document.querySelector(".g-recaptcha[data-sitekey]");
return el?.getAttribute("data-sitekey") ?? "";
});
console.log("sitekey:", siteKey);
// CapSolver API के माध्यम से हल करें
const token = await solveCaptchaViaAPI(page.url(), siteKey);
console.log("टोकन प्राप्त, लंबाई:", token.length);
// टोकन डालें
await page.evaluate((t) => {
const textarea = document.querySelector(
'textarea[name="g-recaptcha-response"]'
);
if (textarea) (textarea as HTMLTextAreaElement).value = t;
}, token);
// जमा करें
await page.click("#recaptcha-demo-submit");
await page.waitForLoadState("networkidle");
const body = await page.textContent("body");
console.log(
body?.includes("Verification Success")
? "CAPTCHA API के माध्यम से हल कर दिया!"
: body?.slice(0, 200)
);
} finally {
await browser.close();
await client.sessions.stop(session.id);
}
}
main().catch(console.error);
| एक्सटेंशन | एपीआई | |
|---|---|---|
| सेटअप | ZIP अपलोड करें, आइडी का पुनर्उपयोग करें | कोई सेटअप नहीं — बस एपीआई कुंजी |
| डिटेक्शन | स्वचालित (कॉन्टेंट स्क्रिप्ट) | हाथ से (DOM में sitekey के लिए प्रश्न) |
| टोकन इंजेक्शन | स्वचालित | हाथ से (जेएस के माध्यम से मूल्यांकन) |
| नियंत्रण | अपारदर्शी — एक्सटेंशन सभी चीजों को संभालता है | पूर्ण नियंत्रण प्रत्येक चरण पर |
| सबसे अच्छा लिए | सेट और भूल ऑटोमेशन | कस्टम समाधान लॉजिक, पुनर्प्रयास रणनीतियां |
लक्षण: CAPTCHA हल नहीं हुआ; पृष्ठ ऐसा लगता है जैसे कोई एक्सटेंशन नहीं है।
संभावित कारण:
client.extensions.create() से लौटाए गए आईडी को सही तरीके से पास करने की पुष्टि करेंmanifest.json ZIP के मूल में है, एक उपनिर्देशिका में नहीं)assets/config.js में एक वैध CapSolver API कुंजी है कि नहीं जांचेंसमाधान:
# ZIP संरचना की जांच करें -- manifest.json मूल में होना चाहिए
unzip -l capsolver-extension.zip | head -20
# शायद: manifest.json (NOT capsolver-extension/manifest.json)
लक्षण: पृष्ठ लोड हो गया, लेकिन प्रतीक्षा के बाद CAPTCHA हल नहीं हुआ।
संभावित कारण:
waitForTimeout को 45-60 सेकंड तक बढ़ाएंलक्षण: chromium.connectOverCDP() एक संयोजन त्रुटि फेंकता है।
समाधान: सुनिश्चित करें कि सेशन अभी भी सक्रिय है। सेशन के समय सीमा होती है (योजना के आधार पर अलग-अलग)। पिछले सेशन के बजाय एक नया सेशन बनाएं:
try {
const browser = await chromium.connectOverCDP(session.wsEndpoint);
} catch (err) {
console.log("सेशन समाप्त हो गया, एक नया बना रहे हैं...");
const newSession = await client.sessions.create({
extensionIds: [extensionId],
useProxy: true, // भुगतान योग्य योजना की आवश्यकता है — मुक्त स्तर के लिए हटा दें
});
const browser = await chromium.connectOverCDP(newSession.wsEndpoint);
}
लक्षण: CapSolver एक्सटेंशन स्थानीय रूप से क्रोम में लोड होता है, लेकिन HyperBrowser सेशन में विफल रहता है।
संभावित कारण:
config.js ZIP में शामिल नहीं है -- दोहरा जांचें कि ZIP में संशोधित assets/config.js शामिल हैapi.capsolver.com तक पहुंचने की आवश्यकता है। सुनिश्चित करें कि HyperBrowser सेशन के नेटवर्क आउटबाउंड HTTPS की अनुमति देता हैएक्सटेंशन अपलोड एक बार की प्रक्रिया है। लौटाए गए extensionId को संग्रहीत करें और इसका पुनर्उपयोग सभी सेशन में करें:
// एक बार अपलोड करें
const ext = await client.extensions.create({ filePath: "capsolver-extension.zip" });
const CAPSOLVER_EXT_ID = ext.id;
// प्रत्येक सेशन में फिर से उपयोग करें
for (const url of targetUrls) {
const session = await client.sessions.create({
extensionIds: [CAPSOLVER_EXT_ID],
useProxy: true, // भुगतान योग्य योजना की आवश्यकता है — मुक्त स्तर के लिए हटा दें
});
// ... ऑटोमेशन
await client.sessions.stop(session.id);
}
CAPTCHAs अक्सर डेटा सेंटर IP से आने वाले अनुरोधों के लिए अधिक आम होते हैं। HyperBrowser के निर्मित प्रॉक्सी मदद करते हैं:
const session = await client.sessions.create({
extensionIds: [extensionId],
useProxy: true, // भुगतान योग्य योजना की आवश्यकता है — मुक्त स्तर के लिए हटा दें। निवासी प्रॉक्सी CAPTCHA आवृत्ति कम करते हैं
});
अलग-अलग CAPTCHA प्रकार के हल करने में अलग-अलग समय लगता है:
| CAPTCHA प्रकार | आम हल समय | सिफारिश किया गया प्रतीक्षा |
|---|---|---|
| reCAPTCHA v2 (चेकबॉक्स) | 5-15 सेकंड | 30 सेकंड |
| reCAPTCHA v2 (अदृश्य) | 5-15 सेकंड | 25 सेकंड |
| reCAPTCHA v3 | 3-10 सेकंड | 20 सेकंड |
| Cloudflare Turnstile | 3-10 सेकंड | 20 सेकंड |
| AWS WAF | 5-15 सेकंड | 30 सेकंड |
| GeeTest v3/v4 | 5-20 सेकंड | 30 सेकंड |
टिप: शंका होने पर 30 सेकंड का उपयोग करें। ज्यादा समय लेना बेहतर है जब बहुत जल्दी जमा करने से बचें।
प्रत्येक CAPTCHA हल करने में क्रेडिट की आवश्यकता होती है। अपने ऑटोमेशन में बैलेंस जांचने के लिए जोड़ें ताकि बाधा न हो:
import axios from "axios";
async function checkBalance(apiKey: string): Promise<number> {
const response = await axios.post("https://api.capsolver.com/getBalance", {
clientKey: apiKey,
});
return response.data.balance || 0;
}
const balance = await checkBalance(process.env.CAPSOLVER_API_KEY!);
if (balance < 1) {
console.warn("कम CapSolver बैलेंस! capsolver.com पर अपने खाते को भरें");
}
जब आवश्यकता हो तो सेशन बंद करें ताकि अनावश्यक शुल्क न हो:
try {
// ... आपका ऑटोमेशन कोड
} finally {
await browser.close();
await client.sessions.stop(session.id);
}
अगर आप अपने CapSolver API कुंजी को घूमते हैं, तो config.js को अपडेट करें, फिर से ZIP करें और फिर से अपलोड करें:
# config.js में कुंजी अपडेट करें, फिर:
cd capsolver-extension && zip -r ../capsolver-extension.zip . && cd ..
फिर नए ZIP को अपलोड करें और अपने संग्रहीत extensionId को अपडेट करें।
HyperBrowser और CapSolver एक साथ AI ब्राउज़र ऑटोमेशन के लिए उपलब्ध सबसे व्यापक CAPTCHA हल करने वाले सेटअप प्रदान करते हैं:
एकजुटता सरल है: CapSolver एक्सटेंशन को ZIP करें, एक बार HyperBrowser SDK के माध्यम से अपलोड करें, और इसे किसी भी सेशन में जोड़ें। कोड-स्तरीय CAPTCHA डिटेक्शन, टोकन इंजेक्शन, या API पॉलिंग की आवश्यकता नहीं है। एक्सटेंशन ब्राउज़र संदर्भ में सब कुछ संभालता है।
क्या आप वेब स्क्रैपर, AI एजेंट, या स्वचालित परीक्षण पाइपलाइन बना रहे हैं, इस संयोजन के कारण CAPTCHA अब एक बाधा नहीं है — प्रकार के बिना।
शुरू करने के लिए तैयार हैं? CapSolver में पंजीकरण करें और अपने पहले भुगतान के लिए बोनस कोड HYPERBROWSER का उपयोग करें!
जानें कि LLM-संचालित कृत्रिम बुद्धिमत्ता ऑटोमेशन इंफ्रास्ट्रक्चर CAPTCHA पहचान को बदल देता है, व्यवसाय प्रक्रिया की कार्यक्षमता में सुधार करता है और मैनुअल हस्तक्षेप कम करता है। उन्नत सत्यापन समाधानों के साथ अपने स्वचालित संचालन को अधिकतम करें।

LLM प्रशिक्षण के लिए पैमाने पर डेटा संग्रह कैसे करें, जैसे कि CAPTCHAs को हल करके। AI मॉडल के लिए उच्च गुणवत्ता वाले डेटासेट बनाने के लिए स्वचालित रणनीतियाँ खोजें।
