Como resolver o captcha no selenium python | Guia completo 2024

Ad¨¦lia Cruz
Neural Network Developer
04-Jul-2024

Encontrar um CAPTCHA ao realizar automa??o na web ¨¦ algo que deixa muitas pessoas sobrecarregadas. Esses CAPTCHAs, projetados especificamente para diferenciar entre usu¨¢rios humanos e scripts automatizados, s?o sem d¨²vida um grande desafio ao usar o Selenium para tarefas de crawling ou automa??o na web. O guia completo de 2024 fornecer¨¢ uma solu??o abrangente para ajud¨¢-lo a enfrentar esses obst¨¢culos de maneira eficiente, focando principalmente nos dois tipos mais comuns de CAPTCHA: captcha e recaptcha, al¨¦m de incorporar uma solu??o de terceiros para CAPTCHAs, CapSolver.
?ndice
- O que ¨¦ CAPTCHA
- Exemplos de CAPTCHA
- Pr¨¦-requisitos
- M¨¦todo 1: Solu??o de CAPTCHA via API do Capsolver
- Entendendo Formul¨¢rios HTML
- Lidando com Elementos de Textarea Ocultos
- Obtendo o Token
- Usando o SDK Python do Capsolver para Obter o Token
- Usando o Token no Selenium
- M¨¦todo 2: Solu??o de CAPTCHA com Extens?o Capsolver
- Download e Empacotamento da Extens?o Capsolver
- Usando a Extens?o Capsolver no Selenium
C¨®digo B?nus
Reivindique seu C¨®digo B?nus para as principais solu??es de captcha; CapSolver: WEBS. Depois de resgat¨¢-lo, voc¨º receber¨¢ um b?nus extra de 5% ap¨®s cada recarga, ilimitado.
O que ¨¦ CAPTCHA
CAPTCHA exige que os usu¨¢rios realizem tarefas espec¨ªficas, como inserir o texto exibido em uma imagem ou clicar em imagens de um conjunto que correspondem a crit¨¦rios espec¨ªficos. Essas tarefas s?o projetadas para verificar se o usu¨¢rio ¨¦ humano ou um rob?. Devido ¨¤ natureza din?mica dessas tarefas, elas s¨® podem ser conclu¨ªdas com sucesso por meio da cogni??o humana e da correta interpreta??o das informa??es, ¨¢reas onde a intelig¨ºncia artificial frequentemente enfrenta dificuldades.
Algumas variantes de CAPTCHA tamb¨¦m suportam indiv¨ªduos com defici¨ºncia visual, gerando ¨¢udio em vez de imagens.
Exemplos de CAPTCHA
O widget CAPTCHA de c¨®digo aberto do Google, reCAPTCHA, ¨¦ amplamente utilizado porque suporta diversos leitores de tela principais como Jcaptcha e NVDA para IE, Edge ou Chrome no Windows OS, ChromeVox para Chrome OS, e VoiceOver para Safari e Chrome no Mac OS.
Al¨¦m disso, o captcha ¨¦ outro tipo comum de CAPTCHA onde os usu¨¢rios precisam clicar em imagens espec¨ªficas, como selecionar todas as imagens que cont¨ºm um objeto espec¨ªfico, para completar a verifica??o. Usu¨¢rios humanos normais frequentemente precisam gastar at¨¦ um minuto completando uma verifica??o complexa do captcha. Ambos os tipos de CAPTCHA impedem eficazmente ataques de script automatizados e s?o amplamente adotados por muitos sites.
Pr¨¦-requisitos
- Google Chrome: Instale a vers?o mais recente do Chrome, pois interagiremos com o Chrome atrav¨¦s do c¨®digo.
- Python: Certifique-se de ter o Python instalado e que a vers?o seja 3 ou superior. Vers?es abaixo de 3 n?o s?o mais recomendadas.
- Selenium: A biblioteca Python para a ferramenta de automa??o Selenium.
- Capsolver Python SDK: O SDK oficial do Capsolver Python, que permite uma integra??o f¨¢cil com o Capsolver.
- Capsolver Extension: A extens?o oficial do Capsolver para Chrome, que pode resolver automaticamente v¨¢rios desafios para voc¨º.
M¨¦todo 1: Solu??o de CAPTCHA via API do Capsolver
Vamos usar esta p¨¢gina demo como exemplo para demonstrar como resolver reCAPTCHA no Python Selenium usando a API do Capsolver.
Entendendo Formul¨¢rios HTML
Antes de come?armos, precisamos entender o b¨¢sico dos formul¨¢rios HTML. Observe esta p¨¢gina e abra as ferramentas do desenvolvedor. Resolva manualmente o reCAPTCHA e clique no bot?o Enviar. Voc¨º ver¨¢ uma solicita??o POST enviada, submetendo tr¨ºs campos: ex-a
, ex-b
e g-recaptcha-response
, como mostrado na imagem abaixo:
Esses tr¨ºs campos correspondem a dois elementos de entrada e um elemento de textarea no formul¨¢rio no c¨®digo-fonte HTML inicial, como mostrado na imagem abaixo:
Nosso m¨¦todo envolve resolver o reCAPTCHA usando a API do Capsolver, obter o token, inseri-lo no elemento textarea e ent?o clicar no bot?o Enviar para submeter o formul¨¢rio.
Lidando com Elementos de Textarea Ocultos
Ao inserir o token no elemento textarea, observe que o elemento textarea na p¨¢gina da web possui um estilo CSS display: none
, o que significa que o textarea n?o est¨¢ vis¨ªvel. Neste caso, se voc¨º tentar inserir conte¨²do diretamente no elemento textarea no Selenium, ocorrer¨¢ um erro:
selenium.common.exceptions.ElementNotInteractableException: Mensagem: elemento n?o ¨¦ interag¨ªvel
, porque o elemento textarea n?o ¨¦ interag¨ªvel neste momento. Para resolver isso, precisamos definir o estilo CSS do elemento textarea como display: block
. O m¨¦todo espec¨ªfico ser¨¢ refletido no c¨®digo posteriormente.
Obtendo o Token
O uso da API do Capsolver requer que forne?amos a websiteKey
, que pode ser encontrada procurando pela palavra-chave data-sitekey
no c¨®digo-fonte da p¨¢gina:
Usando o SDK Python do Capsolver para Obter o Token
Veja como obter o token usando o SDK Python do Capsolver:
python
import capsolver
capsolver.api_key = "sua chave de API"
solution = capsolver.solve({
"type": "ReCaptchaV2TaskProxyLess",
"websiteKey": "6LfW6wATAAAAAHLqO2pb8bDBahxlMxNdo9g947u9",
"websiteURL": "https://recaptcha-demo.appspot.com/recaptcha-v2-checkbox.php",
})
token = solution["gRecaptchaResponse"]
print(token)
Usando o Token no Selenium
Agora, precisamos usar o token com o Selenium. Existem duas opera??es principais no Selenium:
- Tornar o elemento textarea vis¨ªvel para que ele possa ser interagido e o token possa ser inserido nele.
- Localizar o bot?o de envio e clicar nele para submeter o formul¨¢rio.
Essas opera??es envolvem localizar elementos e interagir com eles. Se voc¨º n?o estiver familiarizado com o Selenium, pode consultar Web Scraping com Selenium e Python | Resolvendo Captcha ao Fazer Web Scraping.
Combinando com a API do Capsolver, o c¨®digo completo ¨¦ o seguint
e:
python
import capsolver
from selenium import webdriver
from selenium.webdriver.common.by import By
# Inicializar objeto Chrome Options e acessar o site alvo
chrome_options = webdriver.ChromeOptions()
driver = webdriver.Chrome(options=chrome_options)
url = "https://recaptcha-demo.appspot.com/recaptcha-v2-checkbox.php"
driver.get(url)
# Chamando a API do Capsolver para resolver o ReCaptcha
capsolver.api_key = "sua chave de API"
solution = capsolver.solve({
"type": "ReCaptchaV2TaskProxyLess",
"websiteKey": "6LfW6wATAAAAAHLqO2pb8bDBahxlMxNdo9g947u9",
"websiteURL": url,
})
token = solution["gRecaptchaResponse"]
print(f"Token retornado pelo Capsolver: {token}")
# Mudar a propriedade de estilo display do textarea para block para torn¨¢-lo vis¨ªvel
driver.execute_script("document.getElementById('g-recaptcha-response').style.display = 'block';")
# Simular a inser??o do token no textarea
textarea = driver.find_element(By.ID, "g-recaptcha-response")
textarea.send_keys(token)
# Simular o clique e submeter o formul¨¢rio
submit_btn = driver.find_element(By.CSS_SELECTOR, "button[type='submit']")
submit_btn.click()
input("Pressione qualquer tecla para sair.")
driver.close()
O c¨®digo acima demonstra como resolver reCAPTCHA usando a API do Capsolver no Python Selenium. Depois de resolv¨º-lo com sucesso, voc¨º ver¨¢ a p¨¢gina a seguir:
M¨¦todo 2: Solu??o de CAPTCHA com Extens?o Capsolver
O M¨¦todo 1 envolveu a resolu??o de CAPTCHA atrav¨¦s da API do Capsolver, que inclui muitas opera??es complexas. Se voc¨º procura uma maneira mais simples e conveniente de resolver CAPTCHA, ent?o a Extens?o Capsolver ¨¦ a melhor escolha. Ela pode ser facilmente integrada a navegadores como Chrome e Firefox. A Extens?o Capsolver pode reconhecer e resolver automaticamente v¨¢rios desafios de CAPTCHA em apenas alguns segundos, sem nenhuma interven??o humana, permitindo que voc¨º aproveite o servi?o de resolu??o de CAPTCHA do Capsolver sem escrever nenhum c¨®digo.
Usamos o captcha como exemplo, com a p¨¢gina alvo
Download e Empacotamento da Extens?o Capsolver
Como estamos usando a Extens?o Capsolver no Selenium, precisamos baixar o arquivo zip do GitHub oficial do Capsolver. O uso da Extens?o Capsolver requer que voc¨º insira sua chave de API, conforme mostrado abaixo:
Interagir com extens?es do navegador no Selenium pode ser bastante complicado, ent?o podemos pr¨¦-preencher a chave de API no arquivo de configura??o da extens?o \assets\config.js
e depois carreg¨¢-la diretamente no Selenium. Extraia o arquivo zip da Extens?o Capsolver que baixamos e insira sua chave de API no arquivo \assets\config.js
, conforme mostrado abaixo:
Em seguida, use o recurso de empacotamento de extens?es embutido do Chrome para reempacotar a Extens?o Capsolver. Observe que voc¨º n?o pode simplesmente compactar a pasta de volta em um arquivo zip; essa extens?o seria inutiliz¨¢vel. No Chrome, visite chrome://extensions/
, ative o modo de desenvolvedor, selecione a op??o Pack Extension e importe toda a pasta da extens?o Capsolver. Ap¨®s o reempacotamento, voc¨º obter¨¢ um arquivo .crx.
Usando a Extens?o Capsolver no Selenium
Use o m¨¦todo add_extension
para carregar a Extens?o Capsolver no formato .crx rec¨¦m-reempacotado. O c¨®digo de exemplo ¨¦ o seguinte:
python
from selenium import webdriver
chrome_options = webdriver.ChromeOptions()
chrome_options.add_extension(r"C:\caminho\para\CapSolver.Browser.Extension-chrome-v1.14.0.crx")
driver = webdriver.Chrome(options=chrome_options)
driver.get("https://iframe.arkoselabs.com/3117BF26-4762-4F5A-8ED9-A85E69209A46/index.html")
input("Pressione qualquer tecla para sair.")
driver.close()
Execute o c¨®digo e voc¨º ver¨¢ que a Extens?o Capsolver resolve automaticamente o desafio captcha:
Conclus?o
Seja usando a API do Capsolver ou a Extens?o Capsolver, voc¨º pode resolver perfeitamente CAPTCHA no Python Selenium. Se tiver alguma d¨²vida, consulte a documenta??o do Capsolver para mais informa??es ¨²teis.
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

O que ¨¦ AWS WAF: Um Guia para Raspagem Web em Python e Extra??o de Dados Sem Problemas
Aprenda como resolver eficazmente os desafios do AWS WAF em web scraping usando Python e CapSolver. Este guia abrangente cobre solu??es baseadas em tokens e reconhecimento, estrat¨¦gias avan?adas e exemplos de c¨®digo para facilitar a extra??o de dados.

Ad¨¦lia Cruz
19-Sep-2025

Como Resolver os Desafios do AWS WAF com o CapSolver: O Guia Completo em 2025
Domine os desafios do AWS WAF com o CapSolver em 2025. Este guia completo oferece 10 solu??es detalhadas, exemplos de c¨®digo e estrat¨¦gias de especialistas para web scraping e extra??o de dados perfeita.

Ad¨¦lia Cruz
19-Sep-2025

Como Resolver o Captcha do AWS WAF ao Fazer Web Scraping: Um Guia Completo
Resolva o CAPTCHA do AWS WAF em web scraping com CapSolver. Aumente a efici¨ºncia, resolva desafios e mantenha o fluxo de dados sem interrup??es.

Ad¨¦lia Cruz
17-Sep-2025

Como Resolver CAPTCHA com Selenium e Node.js ao Fazer Scraping
Se voc¨º est¨¢ enfrentando problemas cont¨ªnuos com CAPTCHAs em seus esfor?os de scraping, considere usar algumas ferramentas e suas tecnologias avan?adas para garantir uma solu??o confi¨¢vel.

Ad¨¦lia Cruz
15-Oct-2024

Scrapy vs. Selenium: Qual ¨¦ o Melhor para o Seu Projeto de Web Scraping
Descubra os pontos fortes e as diferen?as entre Scrapy e Selenium para web scraping. Aprenda qual ferramenta ¨¦ mais adequada para o seu projeto e como lidar com desafios como CAPTCHAs.

Alo¨ªsio V¨ªtor
25-Jul-2024

API vs. Scraping: a melhor maneira de obter os dados
Entenda as diferen?as, os pr¨®s e os contras do Web Scraping e do API Scraping para escolher o melhor m¨¦todo de coleta de dados. Explore o CapSolver para obter solu??es para desafios de bots.

Ad¨¦lia Cruz
16-Jul-2024