CAPSOLVER
Blog
Resolva reCAPTCHA com JavaScript: Um tutorial completo

Resolver reCAPTCHA com JavaScript: Um Tutorial Completo

Logo of CapSolver

Nikolai Smirnov

Software Development Lead

02-Dec-2025

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.

O que você aprenderá

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 que é reCAPTCHA?

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
.

Versões do reCAPTCHA:

  • 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.

Por que resolver reCAPTCHA com JavaScript?

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.

Pré-requisitos

Antes de mergulhar no código, há alguns pré-requisitos que você deve ter em mãos para seguir com sucesso este tutorial:

  • Conhecimento básico de JavaScript: Este tutorial pressupõe que você tenha conhecimento básico de JavaScript, incluindo familiaridade com conceitos como variáveis, funções e programação assíncrona.
  • Node.js e npm: Usaremos o Node.js, um runtime de JavaScript, junto com o npm (Node Package Manager) para gerenciar as dependências do seu projeto. Se você não tiver o Node.js instalado, pode baixá-lo no site oficial do Node.js.
  • Chave da API do CapSolver: Para resolver efetivamente os desafios de reCAPTCHA, você precisará de acesso a um serviço como o CapSolver, que se especializa em resolver desafios de CAPTCHA de forma programática. Certifique-se de se cadastrar e obter uma chave da API do CapSolver para integrá-la à sua solução.

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.

Passos para resolver reCAPTCHA com JavaScript

Obtenção da chave do site

Instalar a biblioteca requests

bash Copy
pip install requests

Código de exemplo

python Copy
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:

  1. Obtenção da chave do site: Procure pela solicitação que contém o parâmetro k= nos logs de solicitações do navegador e extraia o valor após k= como a chave do site.
  2. Defina a configuração: Substitua api_key, site_key e site_url no código pelos seus valores reais.
  3. Execute o código: Ao chamar a função 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.

Conclusão

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.

Observação sobre conformidade

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.txt do 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.

Perguntas frequentes

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.


2. Por que eu preciso de JavaScript ou Puppeteer para resolver reCAPTCHA em vez de solicitações HTTP regulares?

O reCAPTCHA v2, v3 e Enterprise depende de vários fatores além de um token simples, incluindo:

  • Fingerprinting do navegador
  • Execução de JavaScript
  • Padrões de interação do usuário
  • Cookies e comportamento do DOM
  • Pontuação de risco (especialmente para v3 e Enterprise)

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.


3. Eu obtive um token do CapSolver, mas o formulário não é submetido. O que pode estar errado?

Vários fatores podem impedir que o contorno do reCAPTCHA funcione corretamente:

Causas comuns:

  • SiteKey incorreto ou desatualizado
  • URL do site incorreta passada ao CapSolver
  • Token inserido no elemento DOM errado
  • Callback de sucesso ausente (por exemplo, onSuccess() não é acionado)
  • JavaScript na página esperando ações adicionais do usuário
  • Site usando reCAPTCHA Enterprise (requer um tipo de tarefa diferente)

Verificações recomendadas:

  1. Confirme que seu site_key e site_url correspondam aos valores reais da página.
  2. Certifique-se de que o token seja inserido corretamente no campo g-recaptcha-response.
  3. Acione manualmente o callback de sucesso do site, se necessário.
  4. Se o site usar Enterprise, mude para ReCaptchaEnterpriseTaskProxyLess.
  5. Revise os logs do navegador em busca de erros de JavaScript que possam impedir a submissão do formulário.

Declaração de Conformidade: As informações fornecidas neste blog são apenas para fins informativos. A CapSolver está comprometida em cumprir todas as leis e regulamentos aplicáveis. O uso da rede CapSolver para atividades ilegais, fraudulentas ou abusivas é estritamente proibido e será investigado. Nossas soluções de resolução de captcha melhoram a experiência do usuário enquanto garantem 100% de conformidade ao ajudar a resolver dificuldades de captcha durante a coleta de dados públicos. Incentivamos o uso responsável de nossos serviços. Para mais informações, visite nossos Termos de Serviço e Política de Privacidade.

Mais