API CDP
O Scrapeless Scraping Browser estende a funcionalidade padrão do CDP (Chrome DevTools Protocol) com uma série de poderosas funções personalizadas para aprimorar os recursos de automação do navegador. Esta documentação abrange principalmente as funções CDP relacionadas ao tratamento de CAPTCHA.
Recursos do Solver de CAPTCHA
Visão Geral dos Recursos
O Scraping Browser inclui recursos avançados de solução de CAPTCHA que podem lidar automaticamente com os tipos principais de CAPTCHA que aparecem nas páginas da web.
Tipos de CAPTCHA Suportados
- reCaptcha
- Cloudflare Turnstile
Mecanismo de Monitoramento de Eventos
Eventos Principais
O Scraping Browser fornece três eventos principais para monitorar o processo de resolução de CAPTCHA:
Nome do Evento | Descrição |
---|---|
Captcha.detected | CAPTCHA detectado |
Captcha.solveFinished | CAPTCHA resolvido |
Captcha.solveFailed | Falha na resolução do CAPTCHA |
Estrutura de Dados de Resposta do Evento
Campo | Tipo | Descrição |
---|---|---|
type | string | Tipo de CAPTCHA: recaptcha turnstile |
success | boolean | Resultado da solução |
message | string | Mensagem de status: "NOT_DETECTED" "SOLVE_FINISHED" "SOLVE_FAILED" "INVALID" |
token? | string | Token retornado com sucesso (opcional) |
Exemplos de Implementação
// 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 de Configuração Avançada
O Scraping Browser fornece uma série de APIs avançadas para controle preciso sobre o comportamento do solucionador de CAPTCHA. Aqui estão as APIs suportadas:
Nome da API | Descrição |
---|---|
Captcha.setAutoSolve | Controlar o comportamento de resolução automática de CAPTCHA |
Captcha.setToken | Definir o token de autenticação para o serviço CAPTCHA |
Captcha.setConfig | Configurar todos os parâmetros do solucionador de CAPTCHA |
Captcha.solve | Disparar manualmente o processo de resolução de CAPTCHA |
Descrição Detalhada da API
1. Captcha.setAutoSolve
Interface de configuração para controlar o comportamento de resolução automática de CAPTCHA.
const client = await page.createCDPSession();
await client.send('Captcha.setAutoSolve', {
autoSolve: false,
options: [{
type: 'recaptcha', // Options: recaptcha | turnstile
disabled: false,
}]
});
2. Captcha.setToken
Definir o token de autenticação para o serviço de resolução de CAPTCHA.
await client.send('Captcha.setToken', {
apiKey: 'your-token'
});
3. Captcha.setConfig
Configurar todos os parâmetros para o solucionador de CAPTCHA.
await client.send('Captcha.setConfig', {
apiKey: 'your-token',
autoSolve: true,
enabledForRecaptcha: true, // Enable reCAPTCHA solving
enabledForRecaptchaV3: true, // Enable reCAPTCHA v3 solving
enabledForTurnstile: true // Enable Turnstile solving
});
4. Captcha.solve
Disparar manualmente o processo de resolução de CAPTCHA.
const result = await client.send('Captcha.solve', {
detectTimeout: 10 * 1000,
options: JSON.stringify([{
type: 'rcaptcha',
disabled: true, // Disable rCaptcha solving
}])
});
console.log(result); // { type: 'recaptcha', success: true, message: 'solve_finished', token: 'xxx' }