CAPSOLVER
Blog
Como resolver o CAPTCHA com o Selenium C#

Como resolver o CAPTCHA com o Selenium C#

Logo of CapSolver

Aloísio Vítor

Image Processing Expert

11-Jul-2024

Introdução

CAPTCHA frequentemente representa um obstáculo significativo em tarefas de web scraping e automação. No entanto, com a abordagem correta usando Selenium e C#, é possível lidar e resolver desafios CAPTCHA de forma eficaz. Neste guia, exploraremos o gerenciamento programático de CAPTCHA em sites e demonstraremos o web scraping em um site de exemplo.

Compreendendo CAPTCHA

CAPTCHA, abreviação de Teste de Turing Público Completamente Automatizado para Diferenciar Computadores e Humanos, atua como um porteiro digital na entrada de websites. Ele desafia os usuários com tarefas como decifrar texto distorcido, identificar objetos ou ouvir clipes de áudio entre ruídos. Esses testes são cruciais para proteger serviços online de bots automatizados, garantindo apenas interações genuínas de humanos.

Para uma exploração mais detalhada sobre CAPTCHA e suas variações, você pode conferir este guia abrangente sobre tipos de CAPTCHA e sua eficácia.

Está enfrentando dificuldades repetidas para resolver a irritante CAPTCHA completamente? Descubra a solução automática e sem interrupções com a tecnologia CapSolver de Desbloqueio Automático de Web alimentada por IA!

Reivindique seu Código de Bônus para as principais soluções CAPTCHA; CapSolver: WEBS. Após resgatá-lo, você receberá um bônus extra de 5% após cada recarga, sem limites.

Pré-requisitos

Antes de mergulhar no Selenium e C# para resolver CAPTCHA e web scraping, certifique-se de ter o seguinte:

Configurando o Selenium no Visual Studio

Para começar, crie um novo projeto C# no Visual Studio e adicione o Selenium WebDriver usando o NuGet Package Manager:

powershell Copy
Install-Package Selenium.WebDriver

Além disso, instale o WebDriver para seu navegador preferido. Você pode encontrar drivers específicos como ChromeDriver e FirefoxDriver para download.

Exemplo Básico de Web Scraping

Vamos demonstrar como extrair dados de um site de exemplo usando Selenium em C#:

csharp Copy
using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;
using System;
using System.Collections.Generic;

namespace WebScrapingExample
{
    class Program
    {
        static void Main(string[] args)
        {
            IWebDriver driver = new ChromeDriver();
            driver.Navigate().GoToUrl("https://www.scrapethissite.com/pages/simple/");

            var countries = driver.FindElements(By.CssSelector(".country"));
            List<string> countryData = new List<string>();

            foreach (var country in countries)
            {
                var name = country.FindElement(By.CssSelector(".country-name")).Text;
                var capital = country.FindElement(By.CssSelector(".country-capital")).Text;
                var population = country.FindElement(By.CssSelector(".country-population")).Text;
                var area = country.FindElement(By.CssSelector(".country-area")).Text;

                countryData.Add($"Nome: {name}, Capital: {capital}, População: {population}, Área: {area}");
            }

            foreach (var data in countryData)
            {
                Console.WriteLine(data);
            }

            driver.Quit();
        }
    }
}

Lidando com Desafios CAPTCHA

Lidar com CAPTCHA envolve a integração de um serviço de resolução de CAPTCHA como o CapSolver. Aqui está um exemplo básico de como integrá-lo:

Configurando a Integração com API CapSolver

Antes de resolver CAPTCHAs programaticamente, você precisa se inscrever no site da CapSolver e obter uma chave de API.

Integração Passo a Passo com CapSolver

  1. Crie uma Conta: Inscreva-se no site da CapSolver e faça login no seu painel.

  2. Gere uma Chave de API: Navegue até a seção de API no seu painel CapSolver e gere uma chave de API.

Implementando a Resolução de CAPTCHA com CapSolver

Abaixo está uma implementação de exemplo usando CapSolver para resolver um desafio reCAPTCHA v2:

csharp Copy
using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;
using System;
using System.Net.Http;
using System.Threading.Tasks;
using Newtonsoft.Json.Linq;

namespace SolveCaptchaExample
{
    class Program
    {
        static async Task Main(string[] args)
        {
            IWebDriver driver = new ChromeDriver();
            driver.Navigate().GoToUrl("https://www.google.com/recaptcha/api2/demo");

            var siteKey = driver.FindElement(By.CssSelector("div.g-recaptcha")).GetAttribute("data-sitekey");
            var pageUrl = driver.Url;

            var captchaResponse = await SolveCaptcha(siteKey, pageUrl, "sua apiKey");
            await Console.Out.WriteLineAsync(captchaResponse);


            IWebElement recaptchaResponseElement = driver.FindElement(By.Id("g-recaptcha-response"));
            ((IJavaScriptExecutor)driver).ExecuteScript($"arguments[0].value = '{captchaResponse}';", recaptchaResponseElement);

            IWebElement submitButton = driver.FindElement(By.CssSelector("#recaptcha-demo-submit"));
            submitButton.Click();
        }

        static async Task<string> SolveCaptcha(string siteKey, string pageUrl, string apikey)
        {
            var client = new HttpClient();
            var content = new StringContent($"{{\"clientKey\": \"{apikey}\", \"task\": {{\"type\": \"RecaptchaV2TaskProxyless\", \"websiteURL\": \"{pageUrl}\", \"websiteKey\": \"{siteKey}\"}}}}", System.Text.Encoding.UTF8, "application/json");
            var response = await client.PostAsync("https://api.capsolver.com/createTask", content);
            var jsonResponse = await response.Content.ReadAsStringAsync();
            var taskId = JObject.Parse(jsonResponse)["taskId"].ToString();

            string captchaSolution = "";
            while (captchaSolution == "" || captchaSolution.Contains("processing"))
            {
                await Task.Delay(5000);
                var content2 = new StringContent($"{{\"clientKey\": \"{apikey}\", \"taskId\": \"{taskId}\"}}", System.Text.Encoding.UTF8, "application/json");
                var response2 = await client.PostAsync("https://api.capsolver.com/getTaskResult", content2);
                var jsonResponse3 = await response2.Content.ReadAsStringAsync();
                captchaSolution = JObject.Parse(jsonResponse3)["solution"]["gRecaptchaResponse"].ToString();
            }

            return captchaSolution;
        }
    }
}

Conclusão

Neste tutorial, cobrimos o básico de como usar Selenium com C# para lidar com CAPTCHAs e demonstramos web scraping com um exemplo prático. Com essas técnicas e ferramentas como CapSolver, você pode automatizar de forma eficiente interações com websites protegidos por CAPTCHA e extrair dados de forma transparente.

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

Como o CAPTCHA Funciona?
Como Funciona o CAPTCHA?

Explore o funcionamento complexo do CAPTCHA: da diferenciação entre humanos e robôs, papéis no treinamento da IA, até os mecanismos do reCAPTCHA, revelando a combinação entre segurança e evolução da IA

The other captcha
Logo of CapSolver

Adélia Cruz

29-Dec-2025

Como resolver qualquer captcha usando um serviço de resolução de captcha - Capsolver
Como resolver qualquer captcha usando um serviço de resolução de captcha - CapSolver

Descubra o CapSolver: um serviço impulsionado por IA para resolver qualquer CAPTCHA, de reCAPTCHA para hCaptcha, com preços flexíveis e desempenho confiável.

The other captcha
Logo of CapSolver

Adélia Cruz

29-Dec-2025

Capsolver - Resolver Captcha
Capsolver - Solucionador de Captcha

Descubra as soluções de captchas de IA e ML da Capsolver, oferecendo uma gama de serviços como reCAPTCHA, Cloudflare Turnstile e mais, com preços flexíveis e integração fácil.

The other captcha
Logo of CapSolver

Adélia Cruz

26-Dec-2025

captcha
O que são CAPTCHAs, a frustração e os diferentes tipos de CAPTCHAs

Faça uma jornada pelo mundo dos CAPTCHAs em nosso último post de blog, "O que são CAPTCHAs? Explorando a frustração e as variedades dos CAPTCHAs." Este guia abrangente explora a essência dos CAPTCHAs, esses testes comuns que determinam se você é humano ou um robô. Discutimos seu propósito, as razões pelas quais eles frequentemente levam à frustração e o amplo conjunto de tipos de CAPTCHA que existem. Do reconhecimento de imagem simples à resolução de puzzles complexos, este post de blog revelará a parte frequentemente ignorada, mas essencial de nossas vidas digitais.

The other captcha
Logo of CapSolver

Aloísio Vítor

23-Dec-2025

Top 10 Métodos de Coleta de Dados
Top 10 Métodos de Coleta de Dados para Inteligência Artificial e Aprendizado de Máquina

Descubra os 10 melhores métodos de coleta de dados para IA e ML, com foco em Throughput, Cost e Scalability. Aprenda como a resolução de captchas com inteligência artificial da CapSolver garante a coleta estável de dados para seus projetos.

The other captcha
Logo of CapSolver

Rajinder Singh

22-Dec-2025

Como resolver MTCaptcha com Python
Como resolver MTCaptcha com Python

Neste artigo, vamos mostrar para você como resolver MTCaptcha com Python

The other captcha
Logo of CapSolver

Aloísio Vítor

18-Dec-2025