Playwright ?? ??? CapSolver ?? ?????? ???? ???? | ??????? ???????????? 2025

Rajinder Singh
Deep Learning Researcher
04-Sep-2025

Playwright ???? ???
Playwright Microsoft ?????? ?????? ?? ?????? ???????? ??????? ??????? ????? ??? ?? ????????, ??????????? ?? ?????? (?? ?????, ??????????? ?? ?????? ?? ?????? ???) ?? ??? ??????? ?? ?????? ???? ??? ?? ???????? ????????, ???? ???, ?????? ?????????, ??????? ?????????? ?? ???? ??? ?? ??? ?? ????????? API ?????? ???? ??¡ª????? ?? ?? ??????? ?? ??? ????? ?? ???? ?? ????? ??? ??? ????? ?? ??? ??? ?????? ?? ???????? ???? ???
Playwright ?? ????? ?????????
??? ?? ????????, ??? ?? ???????????, ?? API
- ?????-????????: Playwright ????????, ?????? ?? ??????????? ???? ??? ?????? ???????? ???? ?? ?????? ???? ???
- ?????-???????????: ???????, ?????? ?? macOS ?? ??????? ?????¡ª??????? ??? ?? ?? CI ???¡ª?????? ?? ??????
- ?????-????: ?????????????, ?????????????, ?????, .NET ?? ???? ?? ??? Playwright API ?? ????? ?????
- ????? ?????? ???: ???????? ?? ?????? ?????? ?? ??? ??? ??? ?? Google ????? ?? ?????? ????? ??? ???????? ???? ???? ???????? ?? ?????? ??? ???? ???
??????? ????? ?? ?????
- ???????? ??????? ?? ??????? ????: ????????????? ?? ?????? ?? ????? ??? ?? ???? ?? ????????
- ???? ????????? ?? ???????: ?? ??????? ?? ??? ?????? ?? ????? ??? ???? ?? ??????? ?? ??? ????? ?? ???-??? ????????? ?? ???????? ???? ???
- SPA ???? ?? ???? ???????: Vue ?? React ???? ?????????? ?? ??? ???? ?? ??????? ?? ????? ?????
- ???????? ???????: ???? ????? ???? ??? ????? ??????????? ?? ????? ?????
- ?????? ??? ???????: GUI ?? ???? ??? ???????? ????, ????? ??????? ?? ??? ????????
Playwright ?? ???????? ?????
Node.js ??? Playwright ?? ????? ????:
bash
npm i playwright
npx playwright install # ??? ???????? (????????, ???????????, ??????) ??????? ????
??????: CapSolver ?? ??? ????? ?????? ??????? ????
???? ??? ?? ?????? ???, ?? CapSolver ????? (/blog/All) ?? ??????? ???? ?? ????? ?? ??? <h5>
????? ????? ?????? ???? ?? ??? Playwright ?? ????? ???? ????
javascript
const { chromium } = require('playwright');
(async () => {
const context = await chromium.launchPersistentContext('', {
headless: false,
viewport: { width: 1920, height: 1080 },
});
const [page] = context.pages();
await page.goto('/blog/All');
const h5Titles = await page.evaluate(() => {
const headings = Array.from(document.querySelectorAll('h5'));
return headings.map(heading => heading.textContent.trim());
});
console.log(h5Titles);
await context.close();
})();
Playwright ?? ??? CapSolver ????????? ?? ???? ?????? ????
Playwright ?????? ???????? ?? ??? ???????? ????????? ??? ???? ?? ??? ???? ????????? ???
- ???????? GitHub ?? ?????? CapSolver ????????? ZIP ??????? ???? ?? ????????
--disable-extensions-except
??--load-extension
?? ????? ???? Playwright ????? ?????? ??? ????????? ?? ????????? ?????
javascript
const { chromium } = require('playwright');
const extensionPath = 'path/to/capsolver extension';
(async () => {
const context = await chromium.launchPersistentContext('', {
headless: false,
viewport: { width: 1920, height: 1080 },
args: [
`--disable-extensions-except=${extensionPath}`,
`--load-extension=${extensionPath}`,
],
});
const [page] = context.pages();
await page.goto('/blog/All');
await browser.close();
})();
CapSolver ????????? ?? ????? ???? reCAPTCHA v2 ?? ?? ????
CAPTCHA ?????? ???? reCAPTCHA v2/v3, Cloudflare Turnstile, AWS WAF, ?????? ????????? ??? ?????? ??? ?? ????? ??? ???? ???? ???? ?????????? ?? ??????, ?? CAPTCHAs ??? ?? ??? ?? ?????? ?? ??? ????? ????? DOM ???????? ???? ???? ???? ?? CapSolver ????????? ??? ?? - ?? ???????? ????????? ?? ???????? ?? ???? ???????? ??? ?? ???? ??? ????? ?? ?? ?? ???? ???
??? reCAPTCHA v2 ?? ?? ?????? ?? ??? ??? ??? ?? Playwright ??? CapSolver ????????? ?? ????? ???? ??? ???? ?? ???? ????
???: ?????? ??? ??? ??, ?????????? ?????? ????? ??? (/assets/config.js -> reCaptchaMode: 'click'
) ?? ????? ???? ????
?? ????????? ???? ????? ?? ?????? ???? ? ????? ??
/assets/config.js
??? ????apiKey
????????? ????
javascript
const { chromium } = require('playwright');
// ??? 1: GitHub ?? ????????? ??????? ????: https://github.com/capsolver/capsolver-browser-extension/releases
// ??? 2: ????????? ????? ?? ?????? ???? ?? /assets/config.js ??? ???? apiKey ??? ????
const extensionPath = 'path/to/CapSolver Browser Extension-v1.16.0';
(async () => {
const context = await chromium.launchPersistentContext('', {
headless: false,
viewport: { width: 1920, height: 1080 },
args: [
`--disable-extensions-except=${extensionPath}`,
`--load-extension=${extensionPath}`,
'--lang=en-US'
],
});
const [page] = context.pages();
await page.goto('https://recaptcha-demo.appspot.com/recaptcha-v2-checkbox.php');
await page.waitForSelector('form[action="/recaptcha-v2-checkbox.php"]');
// ????????? ???????? ??? ?? reCAPTCHA ?? ??? ?????? ?? ?? ??????
await page.waitForTimeout(15000); // ?? ???? ?? ??? ????????? ????
await page.click('button[type="submit"]');
await page.waitForTimeout(5000);
await context.close();
})();
?? CapSolver ????????? ?? ?????? ???????????? ???????? ?? ?? ?????? ???? ??? ???? ??? ??????? ?????? ??? ?? ??? (???: ??? ????????????
/assets/config.js
??? ??? ???)
???????????? ??????: solvedCallback
???? ?? ???? ???? ????, ????? ??? ??? ???? ????? ??? ?? ????? ???? ?? ???? ????? ??? ???? ?? ??? 15 ????? ?? ?????? ???? ??? ?? ???? ?? ???????? CapSolver ????????? ?? reCAPTCHA ?? ???????? ??? ?? ?? ???? ?? ??? ???????? ??? ???? ??? ???????, ?? ????????? ????? ???? ??¡ª???-??? CAPTCHA ???? ????? ?? ?? ?? ???? ??, ?? ???? ??????? ?? ?????? ???, ????? 15 ????? ?? ?? ???? ??? ?? ???? ???
???? ?? solvedCallback
??? ??? ?? CAPTCHA ?? ???? ?? ??? ?? ?????? ?? ?????? ???? ?? ????? ?????? ?????? ???? ??, ????? ???? ????? ???? ???? ?? ?? ??????? ???? ?? ??? ??? ?? /assets/config.js
??? ?? ????? ??????? ??? ???????? ???? solvedCallback
?? ????????? ?? ???? ???¡ª???????? ??? ??, ?? captchaSolvedCallback
??? ???, ???????? ?????? ?? ???? ?? ??????? ?? ????? ???? ?? ??? Playwright ??? page.exposeFunction
?? ????? ?????
??? ?? ?? ????????? ?? ????? ???? ???? ????? ??? ?? ????? ??????
javascript
const { chromium } = require('playwright');
const extensionPath = 'path/to/CapSolver Browser Extension-v1.16.0';
(async () => {
const context = await chromium.launchPersistentContext('', {
headless: false,
viewport: { width: 1920, height: 1080 },
args: [
`--disable-extensions-except=${extensionPath}`,
`--load-extension=${extensionPath}`,
'--lang=en-US'
],
});
const [page] = context.pages();
await page.goto('https://recaptcha-demo.appspot.com/recaptcha-v2-checkbox.php');
await page.waitForSelector('form[action="/recaptcha-v2-checkbox.php"]');
await page.exposeFunction('captchaSolvedCallback', async () => {
console.log('Captcha solved!');
const iframe = await page.$('iframe[src*="recaptcha"]');
if (iframe) {
const frame = await iframe.contentFrame();
const finished = await frame.evaluate(() => {
const element = document.querySelector('.recaptcha-checkbox-border');
return element && window.getComputedStyle(element).display === 'none';
});
if (finished) {
console.log('Verification completed!');
await page.click('button[type="submit"]');
await page.waitForTimeout(3000);
await context.close();
} else {
console.log('Verification not complete. Retrying...');
}
}
});
})();
reCAPTCHA v2 ?? ???, ???-??? ?? ???? ????????? ????? ?? ???? ???? ????? ???????? ?????? ?? ???, ?? ?????? ??? ?? ???? "??? ????? ???? ???" ???????? ??? ???? ??? ??¡ª??? ?? ??? ??? ??, ?? ??????? ???? ???? ???? ???
???????????? ??????: manualSolving
????? ???????? ???, CAPTCHA ?? ?? ???? ????? ??? ???? ?? ????? ???? ?? ??? ??? ???????, ??? ?????????? ???, CAPTCHA ?? ?? ???? ?? ?????? ???? ?? ???? ???? ???? ???? ????? ???? ?? ???????? ?? ???? ??¡ª???? ?????????? ???/??????? ???? ????¡ª???? ???? ???? ?? ???? ?? ??? ???? ?????? ?? ???? ???
??? ??????? ?? ???, /assets/config.js
??? manualSolving: true
??? ????, ?? ???? CAPTCHA-?? ???? ?? ????????? ?? ???????? ??? ?? ?????? ???? ?? ?????? ???? ???
?? ???? ?? ?? ????? ???:
- ????????? ??? CapSolver ??? ?? ????? ?? ?????? ?????
- ????????? ????:
window.postMessage({ type: 'capsolverSolve' });
?? ???: ?? ?????? ???? v1.16.0 ?? ???? ????????? ??? ??????? ??!
??????:
javascript
const { chromium } = require('playwright');
const extensionPath = 'path/to/CapSolver Browser Extension-v1.16.0';
(async () => {
const context = await chromium.launchPersistentContext('', {
headless: false,
viewport: { width: 1920, height: 1080 },
args: [
`--disable-extensions-except=${extensionPath}`,
`--load-extension=${extensionPath}`,
'--lang=en-US'
],
});
const [page] = context.pages();
await page.goto('https://recaptcha-demo.appspot.com/recaptcha-v2-checkbox.php');
await page.waitForSelector('form[action="/recaptcha-v2-checkbox.php"]');
// ??????????? ???? ?? ?????? ????
await page.evaluate(() => {
const inputA = document.querySelector('input[name="ex-a"]');
inputA.value = 'username';
const inputB = document.querySelector('input[name="ex-b"]');
inputB.value = 'password';
});
// ???? ???? ?? ?????????? ??????? ?? ?????? ????
for (let i = 1; i <= 5; i++) {
await page.waitForTimeout(1000);
console.log(`Waited ${i} seconds...`);
}
console.log('Start solving CAPTCHA...');
// ???? 1: CapSolver ??? ?? ????? ???? ?? ?????? ????
await page.evaluate(() => {
document.querySelector('#capsolver-solver-tip-button').click();
});
// ???? 2: postMessage ?? ????? ???? ?????? ????
// await page.evaluate(() => {
// window.postMessage({ type: 'capsolverSolve' });
// });
await page.exposeFunction('captchaSolvedCallback', async () => {
console.log('Captcha solved!');
const iframe = await page.$('iframe[src*="recaptcha"]');
if (iframe) {
const frame = await iframe.contentFrame();
const finished = await frame.evaluate(() => {
const element = document.querySelector('.recaptcha-checkbox-border');
return element && window.getComputedStyle(element).display === 'none';
});
if (finished) {
console.log('Verification completed!');
await page.click('button[type="submit"]');
await page.waitForTimeout(3000);
await context.close();
} else {
console.log('Verification not complete. Try again.');
}
}
});
})();
???????????? ??????: reCaptchaMode
reCaptchaMode
?????? ?? ??? ?? ?????? ???? ??: click
?? token
?
- ????? ??? ???? ?????? ?? ?????? ???? ??¡ª???? ????????? ?? ?????? ?? ????? ?????
- ???? ??? UI ????????? ?? ???? ?????? ???? ??????? ???? ?? ??? ???? CapSolver API ?? ????? ???? ???
??? ?? click
??? ?? ????? ???? ?? ????? ???? ??? ?? ????? ?? ??? ???, ?? ?? ?? ???????? ???????????? ????? ?? ???? ?? ???? ??? ????? ??????????? ?? ??? token
??? ?? ????? ???? ?? ??????? ?? ???? ???
???????????? ??????: showSolveButton
?? showSolveButton
?? false
?? ??? ???? ???? ?? (???????? true
??), ?? CapSolver ??? ?? ????? ?? ????????? ???? ????? ???????, ?? ??????? CAPTCHA-?? ???? ?? ??????????? ?? ???????? ???? ??????
???????????? ??????: useProxy
useProxy: true
??? ???? ?? ???, ?? ?????????? ???????? ????????? ?? ???? ???: proxyType
, hostOrIp
, port
, proxyLogin
, ?? proxyPassword
? ?? ????? ?? ???, ?? CAPTCHA ?? ?? ???? ?? ??? ???? ????? ???????? ?? ????? ??????? ???? ???? ???????? ?? ????? ???? ?????? ????? ??, ?????????? ????????? ???:
- ???? ???????? ????? ???????? ?????? ???? ?? (????, ???? ???????? ?? ????? ???? ??????? reCAPTCHA ???? ???? ????? ??????? ???? ???) ?? ???? ??? ?? ?? ????;
- ??? ?????? ???, CAPTCHA ?? ?? ???? ?? ??? ????? ???? ???? ???? IP ???? ????? ???? ?? ??? ????? ??? ???? ???? IP ?? ???? ???? ??????
??????? ??? ????????? ????? ??? ???? ???? ???????????? ?????? ???? ?? ???? ???????? ?????????? ?? ?????? ???? ???????? ?? ???????? ?? ???? ???? ??? ???? ??? ?????? ???, ?? ????? ????? ?????? ?????? ?? ?????? ?????
CapSolver ????????? ?? ????? ???? ImageToText CAPTCHAs ?? ?? ????
reCAPTCHA, Cloudflare Turnstile, AWS WAF, ?? GeeTest ???? ????? ???? ?? CAPTCHAs ?? ??????, ?? ???? ?????? ?? CAPTCHA ?? ?????? ???? ??? ?? ??????? ?? ????? ?? ??????? ?? ???????? ???? ??? ?? ?????? ImageToText CAPTCHAs ???? ???? ?? ?? ??? ?? ?? ??? ????? ???:
ImageToText ??????? ???????????? ?????? ????? ???? ???? ??? ?? CAPTCHA ??? ????? ???? ?? CAPTCHAs ?? ??????, ImageToText CAPTCHAs ??????? ?? ??????? ?????? ?????-??????? ???? ???? ??????? ?? CAPTCHAs ??????? ????????? ?? ??????? ?? ????????? ??? ????? ???? ???, ????? CapSolver ????????? ???????? ??? ?? ??? ???? ??? ???? ?? ?? ??? ?? ?????? CAPTCHAs ???? ?????, ???? ???? ??? ??? CapSolver ????????? ?? ?????? ??? ?? ????? ???? ????? ???? ????? ??? ?? ?? ?? ???? ????:
- CAPTCHA ?? ???? ??????? ??? ???
0
?? ??? ??capsolver-image-to-text-source
??????? ??????; - ????? ?????? ??? ???
0
?? ??? ??capsolver-image-to-text-result
??????? ?????? ???? ?????? ??? ???? ??????
?? ?????????¡ªcapsolver-image-to-text-source
?? capsolver-image-to-text-result
¡ª?? /assets/config.js
??? ?????? textCaptchaSourceAttribute
?? textCaptchaResultAttribute
?????? ?? ????? ???? ????????? ???? ?? ???? ???
??? ???? ?? ????? ???? ?? ?????? ?? ?????? ?? ???? ???:
https://captcha.com/demos/features/captcha-demo.aspx
???? ????, CAPTCHA ???? ??????? ?? ?????? ????? ?????? ?? ??? ????? ?? ??? ????? ????? ?? ???????? ????? ?? ????? ???:
- CAPTCHA ???? ??????? ID:
demoCaptcha_CaptchaImage
- ?????? ?? ??? ????? ?????? ID:
captchaCode
(???? ??????????)
??, ??? ?? ?????? ?? ???? ??? ?? ??????? ???? ?? CAPTCHA ?? ???????? ??? ?? ?? ???? ?? ??? Playwright ?? ????? ????:
javascript
const { chromium } = require('playwright');
// ??? 1: GitHub ?? ????????? ??????? ???? (https://github.com/capsolver/capsolver-browser-extension/releases)
// ??? 2: ????????? ???? ????? ?? ?????? ???? ?? /assets/config.js ??? ???? apiKey ????????? ????
const extensionPath = 'path/to/CapSolver Browser Extension-v1.16.0';
(async () => {
const context = await chromium.launchPersistentContext('', {
headless: false,
viewport: { width: 1920, height: 1080 },
args: [
`--disable-extensions-except=${extensionPath}`,
`--load-extension=${extensionPath}`,
'--lang=en-US'
],
});
const [page] = context.pages();
await page.goto('https://captcha.com/demos/features/captcha-demo.aspx');
await page.waitForSelector('#demoCaptcha_CaptchaImage');
// CapSolver ????????? ?? ????? ?? CAPTCHA ??? ???? ????? ??
await page.evaluate(() => {
const imgElement = document.querySelector('#demoCaptcha_CaptchaImage');
if (imgElement) {
imgElement.setAttribute('capsolver-image-to-text-source', '0');
}
});
// CapSolver ????????? ?? ????? ?? ????? ?????? ???? ????? ???? ???? ?????
await page.evaluate(() => {
const resultElement = document.querySelector('#captchaCode');
if (resultElement) {
resultElement.setAttribute('capsolver-image-to-text-result', '0');
}
});
// CAPTCHA ?? ?? ???? ?? ??????? ????? ???? ?? ????????? ????
await page.exposeFunction('captchaSolvedCallback', async () => {
console.log('Captcha solved!');
await page.waitForTimeout(3000);
await page.click('#validateCaptchaButton');
await page.waitForTimeout(3000);
await context.close();
});
})();
??????:

Playwright ?? ??? CapSolver API ?? ???? ?????? ????
CapSolver ????????? ?? ????? ???? ????????? ?? ?????? ??, ????? ??? ?? ?? ?????? ?????? ???, ?? ?? ???? ???? API ?????? ?? ????? ???? ?? ??????? ??????? ???? ???? ?????????-?????? ???? ?? ????? ???, API ????????? ?? ?????????? ??? ?????? ???? ??:
- ???? ??????? ????? ???????? - ?? ???? ??? CAPTCHA ?????????? ?? ????? ??? ?? ??? ???? ?? ??? ???? ???????? ?? ??? ?? ???? ????
- ???? ???????? - ?? ?? ?? ???? ??? ?? CAPTCHA ?? ?? ?? ???? ?? ???? ???
- ???? ??????? ?????? ????? - ?? ???????? ?? ?????? ??????? ???? ??? ??? ???? ????
???? ???? ?? ?? ??? ???? ??? ???? ?????, ???? CapSolver API ?? ????? ???? ?? ????? ????? ??? ??:
- ??? 1: https://api.capsolver.com/createTask ¡ª ?? ????? ?????
- ??? 2: https://api.capsolver.com/getTaskResult ¡ª ????? ?????? ??????? ????
?? ????? ????? ?? ???, ???? CapSolver ?? ?? JSON ???????? ????? ????? ?? JSON ??? ???? clientKey
, websiteURL
, websiteKey
, ?? ???? ???? ????? ???? ?? ?????? CAPTCHA ?????? ?? ??????? ?? ???? ?? ????? ???? ????
? ????? ?? ???, ????? ????????? ?????: ?????????????
CapSolver API ?? ??? reCAPTCHA v2 ?? ?? ????
reCAPTCHA v2 ?? ?? ???? ?? ????, ????? ???? ????????? ?????:
? ReCaptchaV2
?? ???????????? ????? ?? ?? ????? ????? ??? ??? ?? JSON ???????? ????? ???? ????
???? ????????, ?? ???? API ???????? ?? ??? JSON ???? ????? ?? ??????? ???? ?? ??? CapSolver ????????? ?? ????? ?? ???? ????
??? ?? ??? ?? ????? ?????:
? JSON ???? ??????? ????
??? ?????????? ?????? ???? ???:
? https://recaptcha-demo.appspot.com/recaptcha-v2-checkbox.php
?? ????? ?? ??? ????? ????? ?? ??? ?????? JSON ??:
json
{
"type": "ReCaptchaV2TaskProxyLess",
"websiteKey": "6LfW6wATAAAAAHLqO2pb8bDBahxlMxNdo9g947u9",
"websiteURL": "https://recaptcha-demo.appspot.com/recaptcha-v2-checkbox.php"
}
?? ????? ????????? ??? API ?? ????? ???? ?? ??? ????????????? ??? ????? ?? ?????? ???? ???:

Playwright ??? ??????:
javascript
const { chromium } = require('playwright');
const axios = require('axios');
// ???? API ????? ?? ?????
const api_key = 'YOUR_API_KEY';
const captcha_type = 'ReCaptchaV2TaskProxyLess';
const site_key = '6LfW6wATAAAAAHLqO2pb8bDBahxlMxNdo9g947u9';
const site_url = 'https://recaptcha-demo.appspot.com/recaptcha-v2-checkbox.php';
async function capSolver() {
const payload = {
clientKey: api_key,
task: {
type: captcha_type,
websiteKey: site_key,
websiteURL: site_url
}
};
try {
const res = await axios.post('https://api.capsolver.com/createTask', payload);
const task_id = res.data.taskId;
if (!task_id) {
console.log('????? ????? ??? ????:', res.data);
return;
}
console.log('taskId ??????? ???:', task_id);
while (true) {
await new Promise(resolve => setTimeout(resolve, 1000)); // 1 ????? ?? ??? ?????
const getResultPayload = { clientKey: api_key, taskId: task_id };
const resp = await axios.post('https://api.capsolver.com/getTaskResult', getResultPayload);
const status = resp.data.status;
if (status === 'ready') {
return resp.data.solution.gRecaptchaResponse;
}
if (status === 'failed' || resp.data.errorId) {
console.log('?? ???? ??? ????! ???????????:', resp.data);
return;
}
}
} catch (error) {
console.error('??????:', error);
}
}
(async () => {
const context = await chromium.launchPersistentContext('', {
headless: false,
viewport: { width: 1920, height: 1080 },
args: ['--lang=en-US'],
});
const [page] = context.pages();
await page.goto('https://recaptcha-demo.appspot.com/recaptcha-v2-checkbox.php');
await page.waitForSelector('form[action="/recaptcha-v2-checkbox.php"]');
const token = await capSolver();
console.log("????:", token);
// ???? ??? ??? ????
await page.evaluate((token) => {
const textarea = document.getElementById('g-recaptcha-response');
if (textarea) {
textarea.value = token;
}
}, token);
await page.click('button[type="submit"]');
await page.waitForTimeout(5000);
await context.close();
})();
CapSolver API ?? ??? ImageToText ?? ?? ????
?? ??? ?? https://captcha.com/demos/features/captcha-demo.aspx ?? ?????? ?? ????? ???? ???, ???? ?????? ??? ???? ??? id demoCaptcha_CaptchaImage
??, ?? ?????? ????? ???? ??? id captchaCode
??, ???? ?? ????? ??? ??? ?????? ??? ??:

ImageToTextTask ?? ???, ???? CapSolver ?? ?????? ??? ?? ???64 ??? ??? ???? ????? ?????? ??? ?? ?????? ??:
javascript
const { chromium } = require('playwright');
const axios = require('axios');
// ???? API ????? ?? ?????
const api_key = 'YOUR_API_KEY';
const captcha_type = 'ImageToTextTask';
const site_url = 'https://captcha.com/demos/features/captcha-demo.aspx';
async function capSolver(base64Image) {
const payload = {
clientKey: api_key,
task: {
type: captcha_type,
websiteURL: site_url,
body: base64Image,
}
};
try {
const res = await axios.post('https://api.capsolver.com/createTask', payload);
const status = res.data.status;
if (status === 'ready') {
return res.data.solution.text;
}
if (status === 'failed' || res.data.errorId) {
console.log('?? ???? ??? ????! ???????????:', res.data);
return "";
}
} catch (error) {
console.error('??????:', error);
}
}
(async () => {
const context = await chromium.launchPersistentContext('', {
headless: false,
viewport: { width: 1920, height: 1080 },
args: ['--lang=en-US'],
});
const [page] = context.pages();
await page.goto('https://captcha.com/demos/features/captcha-demo.aspx');
await page.waitForSelector('#demoCaptcha_CaptchaImage');
// ?????? ??? ?? ???64 ??? ??????? ????
const captchaImage = await page.evaluate(() => {
const img = document.querySelector('img[id="demoCaptcha_CaptchaImage"]');
return img ? img.getAttribute('src') : null;
});
const base64Image = captchaImage.split(',')[1];
const text = await capSolver(base64Image);
console.log("???:", text);
// ?? ???? ??? ?????? ??? ??? ????
await page.evaluate((text) => {
document.getElementById('captchaCode').value = text;
}, text);
await page.click('#validateCaptchaButton');
await page.waitForTimeout(5000);
await context.close();
})();
???? ????????, ??? ????? ImageToText ???????? ?? ???, ?? ?????? ??? ????? ?? ??? ??????? ???? ????????? ?? ???? ???? ????? ?? ???, ????? ????? ????????? ?????:
https://docs.capsolver.com/en/guide/recognition/ImageToTextTask/

?????? ??????
- CapSolver ?????????????
- CapSolver ????????? GitHub ??????
- Chrome ??? ????? ?? CapSolver ?????????
- ??????????? ??-?? ?? CapSolver ?????????
- reCAPTCHA v3 ?? ??? ????-???? ????? ??????
CapSolver ????????? ?? ??????? ???? ???? ??????:
- CapSolver Chrome ????????? ?? ??? reCAPTCHA v3 ?? ?? ????
- CapSolver Chrome ????????? ?? ??? reCAPTCHA v2 ?? ?? ????
- Puppeteer ?? CapSolver ????????? ?? ??? reCAPTCHA ?? ?? ????
- Puppeteer ?? CapSolver ????????? ?? ??? ImageToText ?? ?? ????
???? ????????, CapSolver ?? ?????? ?????? ??????? ????????? ?????? ???? ??, ????? ???????? ?? ??????? CapSolver ???????? ?? ?????? ???? ?? ???? ?????? ???? ????? ?????? ?? ???? ???? ?? ?????? ?? ???????????? ?????? ?? ?? ???? ??? ??? ???? ??? ???? ??? ?? ????????? ???? ?? ?? ?????? ????? ??? ????? ????? ?? ???, ?????:
CapSolver ?????? ?????
????????
Playwright ?? ????? ?????????, CapSolver ?? CAPTCHA ?? ??????? ?? ?????? ?? ??? ?????, ??? ??????? ?? ??? ?? ?????? ?????? ?????? ???? ???? ???? ?????? ?? ??? CapSolver ????????? ?? ????? ?? ??? ??? ?? ???? ???????? ?? ??? API ?? ????? ?? ??? ???, ?? ?????? ???? ??????? ?? ??????????? ???? ?? ?? ??????? ????????? ?? ?????? ??? ???? CAPTCHA ?? ?? ???? ?? ???, ??? ???? ?? CapSolver ?????? ?????? ??????? ????????? ?? ?????? ???? ??, ?? ???? ???????? ?? ?????? ???? ?? ???? ?????? ???? ????? ?????? ???? ?? ?? ???????? ???? ?????? ???? ???
??????? ????????: ?? ????? ?? ?????? ?? ?? ??????? ???? ????????? ?????????? ?? ??? ??? CapSolver ??? ???? ??????? ?? ???????? ?? ???? ???? ?? ??? ????????? ??? CapSolver ??????? ?? ????? ????, ???????? ?? ???????? ???? ???? ?????????? ?? ??? ???? ???? ?????? ?? ?? ???? ???? ?? ?????? ????? ?????? ?????? ?????????? ????? ?? ????? ????? ?? ???-??? ????????? ???? ???????? ?? ????? ?????? ????????? ?? ?? ???? ??? 100% ??????? ????????? ???? ???? ?? ???? ?????? ?? ????????? ????? ?? ??????????? ???? ???? ???? ??????? ?? ???, ????? ????? ???? ?? ?????? ?? ???????? ???? ?? ?????
????

???? ?? reCAPTCHA Enterprise ??????? ?? ?? ????, v2, v2 ??????, v3, v3 ?????????? 0.9 ?????
?????? ???? ???? ?? reCaptcha ??????? ?? CapSolver ?? ???: ?? ???? reCaptcha ?? ??????? ??? ?? ?? ???? ?? ??? ???-??-??? ?????????? ?????? ???? ??, ?? ??? ???? ?????? ????????? ???? ???

Rajinder Singh
11-Oct-2025

???? ?? ???? ??? ??????
?? ????? ????? ??? ??? ?????? ?? ?? ???? ?? ???? ??? ?? ??????? ???? ?????? ???? ??, ?? ?? ??? ?? ????? ????? ????????? ?? ???????? ???? ?? ??? ???? ???? ??? ?? ??? ?????? ???? ??, ???? ???????? ?? ???? ???? ??, ??? ????????? ?? API ?? ????? ?? ???-??-??? ???? ?? ??????? ????? ???? ??? ???? ??? ?? ????????? ??? ????? ?????? ?? ????????????? ?? ?????? ????? ???? ????? ??? ??? ?????? ?? ???? ?? ??? ????????? ?? ????? ?? ??????????? ?? ????? ?? ?? ??? ?? ??? ?????? ???? ??, ?? ?????? ?????? ???? ??????? ?? ??? ?????? ???????? ?????? ?? ???? ???

Rajinder Singh
11-Oct-2025

??????? ??2 ?????? ???? ?? ????
?? ????? reCaptcha v2 ?????? ?? ?? ???? ?? ???? ??? ?? ???????? ???? ??? ?? ?????? ??????? ?? Capsolver ?? ??? ???? ?? ???? ???????? ?? ?????? ???? ?? ?? ???-??-??? ???? ?????? ???? ??? ????? ?? ????? ?? ?????? ???? ??? ???? ????? ??? ??, ????? ???? ??????? ?? reCaptcha v2 ?????? ?? ???? ???? ?? ?? ???? ?? ????????? ??? ?? ???? ?? ???? ??? ?? ?? ???????? ?? ??????? ???? ??, ?? ????????? ???? ?? ?? ???? ?? ??? ???? ???? ????????? ?? ???? ??? ??????? ???? ???

Rajinder Singh
11-Oct-2025

???????? v3 ?? ????
"reCaptcha V3 ?? CapSolver ?? ??? ?? ???? ?????: ????? ????? ??????, ??? API ??????, ?? ??????? ?? ??????? ?? ??? ??????? ??????"

Rajinder Singh
10-Oct-2025

reCaptcha ?? ?????? ??????? ?? ??? ???? ?????
reCAPTCHA ?? ?????? ?? ??? ????? ??? ?? JavaScript ??????? ?? ????? ???? ????? ?? ?? reCAPTCHA ?? ??????????? ?? ???? ?? ??? ????????? ???? ??? ???? ?? ????? ?? ????????? ??????????? ???? ??? ?? ?? ?? ??? ???? ???

Rajinder Singh
23-Sep-2025

Cloudflare Challenge ???? ?? ????
CapSolver ?? Cloudflare ????????? ?? ????? ?? ??? ????? ?? ???? Cloudflare ?? ??????? ?? ?? ???? ?? ??? ?????? ?????? ?? ????? ???? ??, ?????? ??????? ????? ?? ??????? ?? ??? ??? ???????? ????????? ???? ??? ???

Rajinder Singh
23-Sep-2025