Quebrar CAPTCHA com Python – Automação com Anti-Captcha
Aprenda a quebrar CAPTCHA com Python usando Selenium e Anti-Captcha. Veja passo a passo como automatizar a resolução de CAPTCHAs online!
Resposta rápida: quebrar um CAPTCHA com Python é automatizar a resolução por um serviço externo, e não decifrar a imagem no seu código. O Selenium abre a página e lê o sitekey, a biblioteca do Anti-Captcha envia esse sitekey junto com a URL, devolve o token da solução e o Selenium injeta o token no formulário antes de enviar. O serviço é pago por resolução.
O que você vai aprender?
Como Quebrar CAPTCHA com Python
Você já se deparou com aquele desafio de selecionar imagens ou marcar uma caixinha “não sou um robô”? Pois é, esses são os CAPTCHAs, ferramentas de segurança que servem para identificar acessos automatizados.
Mas, e se você quisesse automatizar esse processo de forma educativa? Neste artigo vamos te mostrar como quebrar CAPTCHAs com Python, utilizando a biblioteca Selenium junto ao serviço Anti-Captcha.
Para fazer o download do(s) arquivo(s) utilizados na aula, preencha com o seu e-mail:
O que é CAPTCHA e por que quebrar?
O CAPTCHA (Completely Automated Public Turing test to tell Computers and Humans Apart) é usado para evitar que robôs automatizados acessem páginas.
No entanto, existem situações legítimas, como testes, estudos acadêmicos ou automações corporativas, em que pode ser necessário automatizar a resolução de CAPTCHAs.
⚠️ Aviso: este conteúdo tem fins educacionais. O uso indevido é de responsabilidade do usuário
O que é o serviço Anti-Captcha
O Anti-Captcha é um serviço pago que resolve CAPTCHAs automaticamente. Ele funciona no modelo pay-per-captcha: você paga alguns centavos por cada desafio resolvido.
Esse serviço possui suporte a diversos tipos de CAPTCHA, incluindo Google reCAPTCHA V2 e V3, muito comuns em sites.
Como funciona um CAPTCHA na prática
Para poder testar esse serviço nós vamos utilizar essa ferramenta do Google que é para teste de CAPTCHA, então você pode acessar o site abaixo para poder fazer seus testes.
http://google.com/recaptcha/api2/demo

Quando você resolve um CAPTCHA em uma página, o site recebe um token de verificação (geralmente armazenado no campo g-recaptcha-response).

Você pode habilitar isso dentro da opção Inspecionar quando clica com o botão direito do mouse na página.
Lá dentro você vai selecionar onde está o CAPTCHA e vai desmarcar a caixa display, assim vai conseguir visualizar essa caixa de texto onde é inserida a “solução”.
Na página de documentação desse serviço nós vamos ter os tipos de Captcha que podem ser resolvidos, onde o nosso é o RecaptchaV2TaskProxyless.
E ao clicar no link do CAPTCHA desejado você vai ver que temos as informações de solicitação e de resposta desse CAPTCHA.
Com o Selenium, conseguimos:
- Navegar até a página de teste
- Capturar a chave do CAPTCHA (
data-sitekey) - Enviar essa chave para o Anti-Captcha
- Obter a resposta (token) e injetar no campo correto
Como instalar as bibliotecas necessárias
Lembrando que para que esse código funcione vamos instalar a biblioteca do selenium e a biblioteca do anticaptchaofficial:
pip install selenium
pip install webdriver-manager
pip install anticaptchaofficialCódigo Python para quebrar CAPTCHA
Mas, para que você não tenha que copiar o código do site nós já deixamos o código todo pronto para download!
from webdriver_manager.chrome import ChromeDriverManager
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.by import By
from anticaptchaofficial.recaptchav2proxyless import *
import time
from chave import chave_api
navegador = webdriver.Chrome(service=Service(ChromeDriverManager().install()))
link = "https://google.com/recaptcha/api2/demo"
navegador.get(link)
chave_captcha = navegador.find_element(By.ID, 'recaptcha-demo').get_attribute('data-sitekey')
solver = recaptchaV2Proxyless()
solver.set_verbose(1)
solver.set_key(chave_api)
solver.set_website_url(link)
solver.set_website_key(chave_captcha)
resposta = solver.solve_and_return_solution()
if resposta != 0:
print(resposta)
# preencher o campo do token do captcha
# g-recaptcha-response
navegador.execute_script(f"document.getElementById('g-recaptcha-response').innerHTML = '{resposta}'")
navegador.find_element(By.ID, 'recaptcha-demo-submit').click()
else:
print(solver.err_string)
time.sleep(100)Esse é o código que nós vamos utilizar para quebrar o CAPTCHA utilizando o anti-captcha.
Explicação passo a passo do código
1. Configuração inicial:
- Usamos o
webdriver-managerpara abrir o Chrome automaticamente. - Definimos a URL do site de teste de reCAPTCHA.
Na primeira parte do código nós vamos utilizar o selenium para poder navegar até o site onde vamos quebrar o CAPTCHA desejado.
2. Captura do sitekey
- Com o Selenium, buscamos o elemento
recaptcha-demoe extraímos o data-sitekey.
Em seguida nós temos que buscar a chave_captcha que vai ser dentro do próprio site, lá com o botão direito e Inspecionar.

Aqui vamos colocar o mouse até que toda a área do CAPTCHA fique selecionada. Logo acima do código que foi identificado quando colocou o mouse no CAPTCHA, você vai encontrar o data-sitekey.
Vai ficar logo acima do <iframe. Essa é a chave desse CAPTCHA específico.

Então com o próprio selenium ainda, nós vamos poder encontrar esse elemento data-sitekey para trazer essa informação.
3. Envio ao Anti-Captcha
- Passamos chave da API (
chave_apique você recebe ao criar conta no site) - Enviamos o sitekey e a URL do site.
Com o data-sitekey em mãos, vamos mandar essas informações para o solver, que é o nosso resolvedor do anti-captcha.
OBS: Aqui você deve ter notado que estamos utilizando uma variável chamada chave_api, essa chave é a chave que você recebeu no seu e-mail depois de fazer a conta no site anti-captcha.
4. Recebendo a solução e submissão automática
- O Anti-Captcha retorna um token de resposta.
- Esse token é inserido via
execute_script()no campog-recaptcha-response
Para finalizar nós vamos pegar a resposta desse serviço e vamos aplicá-la ao CAPTCHA, mas como fazer isso?
Da mesma maneira que fizemos para ativar aquela caixa de texto, mas agora nós vamos identificar qual é o elemento dessa caixa para fazer com que o selenium faça esse preenchimento automático.

Esse é o elemento onde vamos preencher a informação, que é onde vamos ter a resposta do CAPTCHA.
A única diferença aqui é que o selenium não consegue escrever em um elemento que ele não está vendo, então por isso vamos utilizar esse código.
Para que ele vá até a janela Console e escreva o código em java script (pois não precisa do elemento visível) para escrever a nossa resposta do CAPTCHA no campo g-recaptcha-response.
O Selenium clica no botão Submit, simulando que o CAPTCHA foi resolvido.
Pronto! Agora você já tem o código pronto para quebrar os próximos CAPTCHAS que precisar com a ajuda do serviço anti-captcha!
Conclusão - Quebrar Qualquer CAPTCHA com Python
Nessa aula eu te mostrei como quebrar qualquer CAPTCHA com Python utilizando um serviço pago para isso.
Com poucas linhas de código, é possível automatizar a resolução de CAPTCHAs usando Python, Selenium e Anti-Captcha.
Esse tipo de automação deve ser usado com responsabilidade e apenas em situações legítimas, como aprendizado ou projetos de automação corporativa.
Assim você vai poder resolver qualquer CAPTCHA que precise de forma automática sempre que precisar!
Caso prefira esse conteúdo no formato de vídeo-aula, assista ao vídeo abaixo ou acesse o nosso canal do YouTube!
O que você aprende neste vídeo
Resposta rápida: A aula resolve o reCAPTCHA V2 da página de teste do Google com o Anti-Captcha e mostra onde o token entra: num campo escondido da página, preenchido por JavaScript. Outro tipo de captcha pede o modelo correspondente na lista do serviço, e a aula pressupõe algum conhecimento de Selenium.
Neste vídeo (39 min):
- 1:49 - O serviço escolhido é o Anti-Captcha: o instrutor diz não ter vínculo com eles e o escolheu por já ter usado, por achar o código um dos mais simples e pela documentação, que considera boa.
- 2:48 - O treino é na página padrão do Google para testar o reCAPTCHA, a caixinha de marcar que às vezes pede para selecionar imagens, dependendo do quanto duvida de que quem marca é uma pessoa.
- 4:49 - No código da página há um campo de texto escondido; habilitado para aparecer, ele se preenche com um token, um código gigantesco, assim que o captcha é marcado.
- 6:10 - Criada a conta no Anti-Captcha, chegam por e-mail o login, a senha e a chave da API; o serviço é pago, e é preciso colocar saldo na conta.
- 9:08 - As instalações:
pip install selenium(no Jupyter, pelo Anaconda Prompt), a biblioteca oficial do Anti-Captcha e o gerenciador de web driver. - 12:00 - O gerenciador identifica a versão do Chrome e baixa o driver dessa versão; na primeira vez pode aparecer uma mensagem de erro, e rodar de novo provavelmente resolve.
- 15:43 - Da biblioteca do Anti-Captcha entra o modelo reCAPTCHA V2 proxyless, que é o tipo de captcha da página de teste.
- 19:21 - Além da chave da API, o resolvedor recebe o link do site e a website key, que é como se fosse a chave do captcha.
- 21:07 - A website key fica num atributo de um div logo acima do iframe do captcha; o Selenium acha esse elemento pelo ID e lê o atributo.
- 25:39 - Se a resposta do resolvedor for zero, a mensagem de erro diz o motivo: com uma chave da API errada, que a chave não existe; sem crédito na conta, que falta crédito.
- 27:01 - Com a chave certa e saldo na conta, o captcha sai resolvido em questão de 10 segundos, menos do que nos testes anteriores do instrutor, e o token aparece na tela.
- 36:48 - Na rodada final, o código preenche o campo com o token, clica em enviar e a página confirma a verificação, o mesmo resultado de marcar a caixinha à mão.
Trechos do vídeo:
- Para passar de um captcha, há essencialmente duas formas: treinar uma inteligência artificial que o reconheça, o que costuma ser mais fácil com captcha de texto, mas dá muito trabalho e só fica boa para aquele captcha específico; ou usar um serviço de quebra de captcha, pago normalmente por captcha resolvido.
- Serviços de quebra de captcha normalmente entregam o desafio a uma pessoa, em algum lugar do mundo, que o resolve, às vezes em 1 minuto ou 1 minuto e meio, e devolvem o token da resposta; como quem resolve não precisa ser você, o código pode rodar quando você quiser.
- Pelo Selenium, escrever, clicar ou editar um elemento exige que ele esteja visível; um campo escondido se preenche executando um código JavaScript na página, que não precisa do elemento visível. Tornar o campo visível, preencher e escondê-lo de novo também funcionaria, mas dá muito mais trabalho.
- Ao passar ao Selenium um código JavaScript que tem aspas simples, o comando vai entre aspas duplas no Python, senão o Python se perde entre umas e outras; e, com o token entrando por um
fna frente do texto, a variável também precisa ficar entre aspas simples dentro do JavaScript. - O instrutor apresenta o conteúdo como 100% educacional e lembra de ler os termos de serviço: fazer besteira quebrando captchas em alguns sites pode render banimento.
Hashtag Treinamentos
Para acessar outras publicações de Python, clique aqui!
Posts mais recentes de Python
- Curso Básico de Python: Saia do Zero em 10 Aulas GrátisAprenda com o curso básico de Python gratuito da Hashtag: 10 aulas práticas, exercícios e projetos reais para sair do zero em programação.
- Agentes RAG com Python: como criar um assistente de IAAprenda a criar Agentes RAG com Python do zero: LangChain, FAISS e OpenAI para montar um assistente de IA que responde com base nos seus documentos.
- 25 Tipos de Gráficos em Python: Guia Completo com CódigoAprenda a criar os principais tipos de gráficos em Python com Plotly: barras, pizza, mapas e mais, com código pronto para copiar e usar.
Posts mais recentes da Hashtag Treinamentos
- Planilha de Controle de Notas Fiscais no Excel [Grátis]Baixe a planilha de controle de notas fiscais no Excel grátis: calcule ISS e retenções, veja o que está em aberto e gere a cobrança de cada nota de serviço.
- Qual IA usar na empresa: ChatGPT, Claude ou Perplexity?Qual IA usar na empresa: veja as diferenças entre ChatGPT, Claude e Perplexity e quando cada um rende mais em cada área da sua equipe.
- Apostilas Gratuitas em PDF: Excel, Power BI, Python e IABaixe apostilas gratuitas em PDF de Excel, Power BI, Python, Claude e agentes de IA, com exercícios e gabarito. Escolha a sua e comece hoje.








