
Nikolai Smirnov
Software Development Lead

Embora o reCAPTCHA proteja efetivamente o conteúdo da web, ele pode, às vezes, atrapalhar atividades legítimas, como pesquisas, análise de dados ou outras tarefas automatizadas orientadas por conformidade que envolvam interação com serviços da web.
Neste blog, vamos mostrar os passos necessários para resolver desafios de reCAPTCHA usando JavaScript. Você aprenderá a configurar seu ambiente de desenvolvimento, usar o Puppeteer para interagir com páginas da web e implementar soluções para reCAPTCHA v2 e v3. Ao final deste tutorial, você terá um bom entendimento de como resolver desafios de reCAPTCHA de forma programática, permitindo que integre esse conhecimento aos seus próprios projetos.
O reCAPTCHA é um tipo de CAPTCHA que ajuda a distinguir usuários humanos de robôs apresentando desafios que são simples para humanos, mas difíceis para máquinas. Ao longo dos anos, o reCAPTCHA evoluiu desde texto distorcido que os usuários precisavam digitar, até puzzles baseados em imagens mais complexos, e agora para uma versão quase invisível que funciona em segundo plano, classificando os usuários com base em seu comportamento no site.
Resgate seu código promocional do CapSolver
Aumente seu orçamento de automação instantaneamente!
Use o código promocional CAPN ao recarregar sua conta do CapSolver para obter um bônus extra de 5% em cada recarga — sem limites.
Resgate-o agora em seu Painel do CapSolver
.
reCAPTCHA v2: Esta versão é amplamente reconhecida pelo checkbox "I'm not a robot" e desafios baseados em imagens. Requer que os usuários cliquem em imagens ou verifiquem certas ações, tornando-o eficaz para distinguir humanos de robôs.

reCAPTCHA v3: Ao contrário do v2, o reCAPTCHA v3 é invisível e funciona em segundo plano. Ele avalia as interações dos usuários em um site e atribui uma pontuação com base na probabilidade de que o usuário seja um robô. Os sites podem então usar esta pontuação para decidir se permitem ou bloqueiam o usuário.
reCAPTCHA Enterprise: Para empresas com necessidades de segurança mais elevadas, o reCAPTCHA Enterprise está disponível. Esta versão oferece proteção avançada contra ameaças sofisticadas, integrando-se mais profundamente com medidas de segurança de nível empresarial. Inclui análise de risco aprimorada, pontuação personalizável e melhor escalabilidade, tornando-o adequado para organizações que lidam com dados sensíveis ou operações críticas.

Para desenvolvedores trabalhando em projetos como raspagem de web, testes automatizados ou automação de formulários, encontrar reCAPTCHA pode ser um grande obstáculo. Resolver manualmente o reCAPTCHA a cada vez não é viável em cenários automatizados, o que é onde o JavaScript entra em cena. Ao utilizar JavaScript, especificamente com a ajuda de ferramentas como o Puppeteer, os desenvolvedores podem interagir e resolver desafios de reCAPTCHA de forma programática.
Casos de uso comuns:
1. Raspagem de web: Extrair dados de sites frequentemente envolve interagir com formulários ou páginas protegidas pelo reCAPTCHA.
2. Testes automatizados: Garantir a estabilidade de aplicações web pode exigir submissões automatizadas de formulários ou interações com páginas protegidas por CAPTCHA.
3. Automação de formulários: Automatizar tarefas repetitivas, como preencher e enviar formulários, frequentemente necessita contornar o CAPTCHA para completar o fluxo de trabalho.
Antes de mergulhar no código, há alguns pré-requisitos que você deve ter em mãos para seguir com sucesso este tutorial:
Após atender a estes pré-requisitos, você está pronto para configurar seu ambiente e começar a resolver desafios de reCAPTCHA com JavaScript e o CapSolver.
/recaptcha/api2/reload?k=6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-, onde o valor após k= é a chave do site que precisamos. Ou você pode encontrar todos os parâmetros para resolver o recapctha através da extensão CapSolverpip install requests
import requests
import time
from DrissionPage import ChromiumPage
# Cria uma instância de ChromiumPage
page = ChromiumPage()
# Acessa a página de exemplo que dispara o reCAPTCHA
page.get("https://www.google.com/recaptcha/api2/demo")
# TODO: Defina sua configuração
api_key = "sua chave de API do capsolver" # Sua chave de API do CapSolver
site_key = "6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-" # Chave do site do seu site alvo
site_url = "https://www.google.com/recaptcha/api2/demo" # URL da página do seu site alvo
def capsolver():
payload = {
"clientKey": api_key,
"task": {
"type": 'ReCaptchaV2TaskProxyLess',
"websiteKey": site_key,
"websiteURL": site_url
}
}
# Envia uma solicitação ao CapSolver para criar uma tarefa
res = requests.post("https://api.capsolver.com/createTask", json=payload)
resp = res.json()
task_id = resp.get("taskId")
if not task_id:
print("Falha ao criar tarefa:", res.text)
return
print(f"Obtido taskId: {task_id} / Obtendo resultado...")
while True:
time.sleep(3) # Atraso
payload = {"clientKey": api_key, "taskId": task_id}
# Consulta os resultados da tarefa
res = requests.post("https://api.capsolver.com/getTaskResult", json=payload)
resp = res.json()
status = resp.get("status")
if status == "ready":
return resp.get("solution", {}).get('gRecaptchaResponse')
if status == "failed" or resp.get("errorId"):
print("Falha ao resolver! resposta:", res.text)
return
def check():
# Obtém a solução do reCAPTCHA
token = capsolver()
# Define o valor da resposta do reCAPTCHA
page.run_js(f'document.getElementById("g-recaptcha-response").value="{token}"')
# Chama a função de retorno de chamada de sucesso
page.run_js(f'onSuccess("{token}")')
# Submete o formulário
page.ele('x://input[@id="recaptcha-demo-submit"]').click()
if __name__ == '__main__':
check()
Explicação:
k= nos logs de solicitações do navegador e extraia o valor após k= como a chave do site.api_key, site_key e site_url no código pelos seus valores reais.check(), o código recuperará automaticamente a solução do reCAPTCHA e submeterá o formulário.Certifique-se de seguir os termos de serviço e regulamentações legais dos sites com os quais você interage.
Resolver desafios de reCAPTCHA de forma programática com JavaScript oferece uma solução poderosa para automatizar tarefas que envolvam interação com serviços da web protegidos por CAPTCHA. Ao utilizar ferramentas como o Puppeteer e o CapSolver, você pode contornar com eficácia esses desafios, otimizar seus fluxos de trabalho e integrar soluções automatizadas aos seus projetos.
À medida que o reCAPTCHA continua evoluindo, ficar informado sobre suas diferentes versões e utilizar estratégias apropriadas torna-se crucial. Seja você lidando com raspagem de web, testes automatizados ou automação de formulários, entender como gerenciar o reCAPTCHA de forma eficiente pode aumentar significativamente sua produtividade e precisão.
Lembre-se, enquanto a automação pode aumentar significativamente a eficiência, é essencial respeitar os termos de serviço dos sites com os quais você interage e garantir conformidade com os padrões legais. Com as ferramentas e o conhecimento certos, você pode navegar pelas complexidades do reCAPTCHA e se concentrar no que realmente importa nos seus esforços de desenvolvimento.
Importante: Ao realizar raspagem de web, é crucial seguir diretrizes legais e éticas. Certifique-se sempre de que você tem permissão para raspar o site alvo e respeite o arquivo
robots.txtdo site e seus termos de serviço. O CapSolver se opõe firmemente ao uso inadequado de nossos serviços para atividades não conformes. O uso inadequado de ferramentas automatizadas para contornar CAPTCHAs sem autorização apropriada pode levar a consequências legais. Certifique-se de que suas atividades de raspagem estejam em conformidade com todas as leis e regulamentações aplicáveis para evitar problemas potenciais.
O uso de ferramentas de automação para resolver reCAPTCHA é legal apenas quando realizado com autorização apropriada e em conformidade com os termos de serviço do site alvo.
Atividades como pesquisas, testes de qualidade (QA) ou automação interna são geralmente aceitáveis.
No entanto, o uso de serviços de resolução de CAPTCHA para raspagem não autorizada, spam ou evasão de controles de segurança é estritamente proibido e pode levar a consequências legais.
Sempre certifique-se de que sua automação esteja alinhada com diretrizes éticas e legais.
O reCAPTCHA v2, v3 e Enterprise depende de vários fatores além de um token simples, incluindo:
Uma solicitação HTTP simples não consegue simular esse ambiente.
O Puppeteer (ou ferramentas similares de automação de navegador) cria um contexto de navegador realista, tornando possível lidar com desafios de reCAPTCHA com sucesso e confiabilidade.
Vários fatores podem impedir que o contorno do reCAPTCHA funcione corretamente:
Causas comuns:
onSuccess() não é acionado)Verificações recomendadas:
site_key e site_url correspondam aos valores reais da página.g-recaptcha-response.ReCaptchaEnterpriseTaskProxyLess.Enfrentando "Chave de Site Inválida do reCAPTCHA" ou "token do reCAPTCHA inválido"? Descubra causas comuns, soluções passo a passo e dicas de solução de problemas para resolver problemas de verificação do reCAPTCHA. Aprenda como corrigir o erro de verificação do reCAPTCHA, por favor tente novamente.

Aprenda como corrigir problemas comuns do reCAPTCHA na raspagem da web. Descubra soluções práticas para o reCAPTCHA v2 e v3 para manter fluxos de coleta de dados sem interrupções.
