---
title: "Como contornar CAPTCHAs com o Puppeteer"
slug: bypass-captchas-with-puppeteer
date: 2026-02-17T09:04:52+00:00
modified: 2026-02-17T09:04:54+00:00
permalink: https://brightdata.com.br/blog/dados-do-site/bypass-captchas-with-puppeteer
type: blog
---

[ Blog ](https://brightdata.com.br/blog "Blog") / [Dados do site](https://brightdata.com.br/blog/dados-do-site)







 [Dados do site](https://brightdata.com.br/blog/dados-do-site)

# Como contornar CAPTCHAs com o Puppeteer

Aprenda a contornar CAPTCHAs com o Puppeteer usando plug-ins furtivos e técnicas avançadas para automação perfeita.

 9 min de leitura





 [ ![Federico Trotta](https://media.brightdata.com.br/2024/12/Federico-50x50.jpg) ](https://brightdata.com/blog/authors/federico-trotta)

 [Federico Trotta

Technical Writer

 ](https://brightdata.com/blog/authors/federico-trotta)





 ![How to bypass CAPTCHAs with Puppeteer blog image](https://media.brightdata.com.br/2024/12/How-to-bypass-CAPTCHAs-with-Puppeteer.svg)





Neste guia, você aprenderá:

- O que são CAPTCHAs e se você pode ignorá-los
- Como usar o Puppeteer para contornar CAPTCHAs por meio de um tutorial passo a passo
- O que fazer se o processo com o Puppeteer não funcionar

Vamos começar!

## <a></a>O que são CAPTCHAs? E você pode contorná-los?

Um [CAPTCHA](/blog/web-data/what-is-a-captcha) (teste de Turing público completamente automatizado para distinguir computadores de humanos) é um teste de desafio-resposta que distingue humanos de bots automatizados. Para atingir seus objetivos, os CAPTCHAs são projetados para serem facilmente resolvidos por humanos, mas difíceis para softwares.

Os provedores populares de CAPTCHA incluem Google [reCAPTCHA](https://www.google.com/recaptcha/about/), [hCaptcha](https://www.hcaptcha.com/) e BotDetect, e os tipos comuns de CAPTCHA são:

- **Baseados em texto:** nesses desafios, os usuários precisam reconhecer letras e números e digitá-los.
- **Baseados em imagens**: esses testes exigem que os usuários identifiquem objetos específicos em uma grade de imagens, selecionando as imagens corretas.
- **Baseados em áudio:** neste tipo, os usuários precisam escrever as letras que ouvem.
- **Desafios de quebra-cabeças:** esse tipo de desafio exige que os usuários resolvam um quebra-cabeça simples, deslizando uma peça para o lugar dedicado.

Os CAPTCHAs são projetados para serem difíceis de serem contornados por softwares automatizados e bots. Portanto, o que você pode fazer é integrar seu software a bibliotecas ou serviços de Resolução de CAPTCHA que dependem de operadores humanos para automatizar esses desafios e resolvê-los.

No entanto, CAPTCHAs codificados não são comuns porque têm um impacto negativo na experiência geral do usuário no site. Por esse motivo, é mais comum que os CAPTCHAs sejam usados como parte de soluções anti-bot mais amplas, como WAFs ([Web Application Firewalls](https://www.cloudflare.com/learning/ddos/glossary/web-application-firewall-waf/)):

![A CAPTCHA on G2 generated by Cloudflare](https://media.brightdata.com/2024/07/Example-of-a-Web-Application-Firewall-1024x488.png)Nesses casos, o sistema exibe dinamicamente um CAPTCHA quando há suspeita de que um bot está realizando alguma atividade no site. Para contornar esses CAPTCHAs, você precisa desenvolver um bot que imite o comportamento humano. Embora isso seja possível, requer muito esforço, principalmente porque você precisa atualizar seus scripts com frequência para se antecipar às novas técnicas e métodos de detecção de bots.

A boa notícia é que existe uma solução mais eficaz para contornar CAPTCHAs: [o CAPTCHA Solver](/products/web-unlocker/captcha-solver) da Bright Data! Essa ferramenta sempre atualizada resolve todos os seus problemas relacionados ao contorno de CAPTCHAs sem nenhuma dor de cabeça.

## <a></a>Como contornar CAPTCHAs com o Puppeteer: tutorial passo a passo

Agora é hora de criar um script automatizado que imite o comportamento humano para contornar CAPTCHAs.

Para isso, você pode usar [o Puppeteer](https://pptr.dev/): uma biblioteca JavaScript que fornece uma API de alto nível que controla navegadores da web e, portanto, pode ser usada para imitar comportamentos humanos.

Vamos começar!

### <a></a>Etapa 1: Configuração do projeto

Suponha que você chame a pasta principal do seu projeto `de bypass_captcha_puppeteer`. Aqui está a estrutura que o repositório deve ter:

```none
bypass_captcha_puppeteer/
├── index.js
└── package.json

```

Você pode criar com:

```none
mkdir bypass_captcha_puppeteer

```

Em seguida, entre na pasta do projeto e execute `npm init` para inicializar um aplicativo Node.js:

```none
cd bypass_captcha_puppeteer
npm init -y

```

Em seguida, crie um arquivo `index.js` dentro dele.

Instale o Puppeteer conforme abaixo:

```none
npm install puppeteer

```

### <a></a>Etapa 2: use a notação ESM Javascript

Para usar a notação ECMAScript Modules em Javascript, o arquivo `package.json` deve ter a opção `"type": "module"`.

Veja como o arquivo `package.json` deve ficar:

```none
{
  "name": "bypass_captcha_puppeteer",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "type": "module",
  "scripts": {
    "start": "node index.js"
  },
  "dependencies": {
    "puppeteer": "^23.10.4"
  }
}

```

### <a></a>Etapa 3: tente ignorar o CAPTCHA com o Puppeteer

Escreva o seguinte código no arquivo `index.js` para ver se o Puppeteer aparece como um bot ou não:

```none
import puppeteer from 'puppeteer';

const visitBotAnalyzerPage = async () => {
  try {
    // inicializar o navegador
    const browser = await puppeteer.launch();

    // abrir uma nova página do navegador
    const page = await browser.newPage();

    // navegar até o URL de destino
    const url = 'https://bot.sannysoft.com/';
    console.log(`Navegando até ${url}...`);
    await page.goto(url, { waitUntil: 'networkidle2' });

    // salvar uma captura de tela da página inteira
    console.log('Fazendo captura de tela da página inteira...');
    await page.screenshot({ path: 'anti-bot-analysis.png', fullPage: true });
    console.log('Captura de tela feita');

    // fechar o navegador
    await browser.close();
    console.log('Navegador fechado');
  } catch (error) {
    console.error('Ocorreu um erro:', error);
  }
};

// executar o script
visitBotAnalyzerPage();

```

Veja o que esse código faz:

1. **Inicia o navegador**: o método `puppeteer.launch()` inicia uma nova instância do navegador com interface do usuário visível (`headless: false`).
2. **Abre uma nova página do navegador**: `browser.newPage()` cria uma nova página em branco do navegador, onde outras ações podem ser realizadas.
3. **Acessa a página de destino:** o método `page.goto()` redireciona para a página de destino, que é [Intoli.com tests](https://bot.sannysoft.com/), uma página projetada para entender se uma solicitação vem de um bot ou não.
4. **Salva uma captura de tela dos resultados:** o método `page.screenshot()` obtém uma captura de tela dos resultados e a salva.
5. **Fecha o navegador e trata erros**: O método `browser.close()` fecha o navegador e intercepta eventuais erros.

Para executar o código, digite:

```none
node index.js

```

Agora você pode abrir a imagem salva. Este é o resultado esperado:

![The expected result](https://media.brightdata.com.br/2024/12/image-140.png)Portanto, o Puppeteer não passou em alguns testes, como mostra a imagem. Consequentemente, os WAFs provavelmente exibirão CAPTCHAs ao interagir com páginas com o Puppeteer.

Para resolver esses problemas, vamos usar o [Puppeteer Stealth](/blog/how-tos/avoid-getting-blocked-with-puppeteer-stealth)!

### <a></a>Etapa 4: instale o plug-in Stealth

[O Puppeteer Extra](https://hackernoon.com/elevate-your-scraping-project-with-puppeteer-extra) é um wrapper leve para o Puppeteer que, entre outras coisas, permite instalar o [plugin Stealth](https://www.npmjs.com/package/puppeteer-extra-plugin-stealth), que impede a detecção de bots ao substituir várias configurações para fazer com que a instância do navegador pareça natural e “humana”.

Instale essas bibliotecas da seguinte maneira:

```none
npm install puppeteer-extra puppeteer-extra-plugin-stealth

```

Importe o Puppeteer do `puppeteer-extra` em vez do `puppeteer`:

```none
import puppeteer from 'puppeteer-extra';

```

Fantástico! Você está pronto para usar o plugin Stealth para tentar evitar CAPCHAs com o Puppeteer.

### <a></a>Etapa 5: repita o teste com o Stealth Plugin

Agora você precisa implementar o plugin Stealth com esta linha de código:

```none
puppeteer.use(StealthPlugin()).

```

Assim, o código fica assim:

```none
import puppeteer from 'puppeteer-extra';
import StealthPlugin from 'puppeteer-extra-plugin-stealth';

// Adicione o plugin Stealth ao Puppeteer
puppeteer.use(StealthPlugin());

const visitBotAnalyzerPage = async () => {
  try {
    // inicie o navegador com as configurações Stealth
    const browser = await puppeteer.launch();
    console.log('Iniciando o navegador no modo Stealth...');

    // abrir uma nova página
    const page = await browser.newPage();

    // navegar até a página de destino
    const url = 'https://bot.sannysoft.com/';
    console.log(`Navegando até ${url}...`);
    await page.goto(url, { waitUntil: 'networkidle2' });

    // salvar a captura de tela da página inteira
    console.log('Fazendo captura de tela da página inteira...');
    await page.screenshot({ path: 'anti-bot-analysis.png', fullPage: true });
    console.log(`Captura de tela feita`);

    // fechar o navegador
    await browser.close();
    console.log('Navegador fechado. Script concluído com sucesso');
  } catch (error) {
    console.error('Ocorreu um erro:', error);
  }
};

// executar o script
visitBotAnalyzerPage();

```

Agora, quando você executar o código novamente com:

```none
node index.js

```

O resultado esperado é:

![The final expected result after running the code](https://media.brightdata.com.br/2024/12/image-141.png)Viva! O script agora passa nos testes de detecção de bots, o que significa que você tem menos chances de receber CAPTCHAs com o Puppeteer!

## <a></a>O que fazer se o procedimento acima para contornar CAPTCHAs com o Puppeteer não funcionar

Infelizmente, o Puppeteer Extra nem sempre é a solução ideal. O motivo é que as configurações do navegador não são a única forma que os antibots utilizam para bloquear softwares automatizados.

Por exemplo, o agente do usuário é outro fator usado pelos sistemas anti-bot para bloquear softwares automatizados. Para resolver esse problema, você pode usar a biblioteca [`puppeteer-extra-plugin-anonymize-ua`](https://www.npmjs.com/package/puppeteer-extra-plugin-anonymize-ua), que torna o agente do usuário anônimo.

No entanto, a abordagem baseada em plug-ins descrita anteriormente funciona apenas contra medidas anti-bots básicas: ao lidar com ferramentas mais complexas, como o Cloudflare, você precisa de algo mais poderoso.

Então… Você está procurando um solucionador de CAPTCHA Playwright de verdade? Experimente [as soluções de Scraping de dados da Bright Data](https://docs.brightdata.com/scraping-automation/introduction)!

Elas oferecem recursos superiores de desbloqueio com um recurso dedicado de Resolução de CAPTCHA para lidar automaticamente com[reCAPTCHA](/products/web-unlocker/captcha-solver/recaptcha), [hCaptcha](/products/web-unlocker/captcha-solver/hcaptcha), [px\_captcha](/products/web-unlocker/captcha-solver/perimeterx), [SimpleCaptcha](/products/web-unlocker/captcha-solver/geetest-captcha), [GeeTest CAPTCHA](/products/web-unlocker/captcha-solver/geetest-captcha), [FunCaptcha](/products/web-unlocker/captcha-solver/funcaptcha), [Cloudflare Turnstile](/products/web-unlocker/captcha-solver/aws-waf-captcha), [AWS WAF Captcha](/products/web-unlocker/captcha-solver/aws-waf-captcha), [KeyCAPTCHA](/products/web-unlocker/captcha-solver/keycaptcha) e muitos outros.

Integrar o solucionador de CAPTCHA da Bright Data aos seus scripts é fácil, pois ele funciona com qualquer cliente HTTP ou ferramenta de automação de navegador.

Saiba mais sobre [como usar o CAPTCHA Solver da Bright Data](/blog/brightdata-in-practice/how-to-bypass-captcha-using-web-unlocker) e confira a [documentação](https://docs.brightdata.com/scraping-automation/web-unlocker/introduction) para obter todos os detalhes de integração e configuração.

## <a></a>Conclusão

Neste artigo, você aprendeu por que contornar CAPTCHAs com o Puppeteer pode ser desafiador e como usar o plugin Stealth para substituir a configuração padrão do navegador e contornar a detecção de bots.

O problema dessa abordagem é que ela funciona apenas em cenários simples. Sistemas avançados de detecção de bots ainda podem identificá-lo como um bot e bloqueá-lo.

Portanto, ao contornar CAPTCHAs, a solução real é conectar-se à sua página de destino por meio de uma API de desbloqueio que pode retornar perfeitamente o HTML sem CAPTCHA de qualquer página da web. Essa solução existe e é chamada de [Web Unlocker](/products/web-unlocker). Seu objetivo é alternar automaticamente o IP de saída a cada solicitação por meio da integração de Proxy, lidar com impressões digitais do navegador, novas tentativas automáticas e resolução de CAPTCHA para você.

Inscreva-se agora para descobrir quais dos produtos de scraping da Bright Data melhor atendem às suas necessidades.

Comece com um teste grátis!



Contate-nosTeste grátis![google social icon](/wp-content/themes/brightdata/assets/images/ic_google.svg)









 Índice







CAPTCHA Solver

Easily bypass all CAPTCHAs with Web Unlocker. No more getting blocked.

[See pricing](/pricing/web-unlocker "See pricing")

Rotating Proxies

Avoid CAPTCHAs with the best rotating proxies.

[See pricing](/pricing/proxy-network/residential-proxies "See pricing")







 [ ](https://news.ycombinator.com/submitlink?t=Como+contornar+CAPTCHAs+com+o+Puppeteer&u=https://brightdata.com.br/blog/dados-do-site/bypass-captchas-with-puppeteer) [ ](https://www.linkedin.com/shareArticle?mini=true&title=Como+contornar+CAPTCHAs+com+o+Puppeteer&url=https://brightdata.com.br/blog/dados-do-site/bypass-captchas-with-puppeteer) [ ](http://www.reddit.com/submit?title=Como+contornar+CAPTCHAs+com+o+Puppeteer&url=https://brightdata.com.br/blog/dados-do-site/bypass-captchas-with-puppeteer)







##  Você também pode estar interessado em

 [ ![OpenHuman with Bright Data](https://media.brightdata.com.br/2026/09/OpenHuman-with-Bright-Data.png) ](https://brightdata.com.br/blog/ai/openhuman-with-bright-data "Acesso à Web Pronto para Produção no OpenHuman Através do Bright Data CLI")

 [AI



 ![Antonello Zanini](https://media.brightdata.com.br/2022/12/Antonello-Zanini-2-50x50.jpg)

Antonello Zanini

Technical Writer





### Acesso à Web Pronto para Produção no OpenHuman Através do Bright Data CLI

Integre o Bright Data CLI ao OpenHuman para habilitar acesso à web pronto para produção e coleta de dados para agentes de IA.



 09-Sep-2026

 14 min de leitura

 ](https://brightdata.com.br/blog/ai/openhuman-with-bright-data)

 [ ![Multimodal Web Scraping with MiniMax](https://media.brightdata.com.br/2026/09/Multimodal-Web-Scraping-with-MiniMax.png) ](https://brightdata.com.br/blog/dados-do-site/multimodal-web-scraping-with-minimax "Scraping de Dados Multimodal com MiniMax")

 [Dados do site



 ![Antonello Zanini](https://media.brightdata.com.br/2022/12/Antonello-Zanini-2-50x50.jpg)

Antonello Zanini

Technical Writer





### Scraping de Dados Multimodal com MiniMax

Combine a API Web Unlocker da Bright Data com a visão MiniMax M3 para extrair dados estruturados de imagens e capturas de tela de páginas web.



 09-Sep-2026

 5 min de leitura

 ](https://brightdata.com.br/blog/dados-do-site/multimodal-web-scraping-with-minimax)

 [ ![The 10 Best CLI Tools for Codex in 2026](https://media.brightdata.com.br/2026/08/The-10-Best-CLI-Tools-for-Codex-in-2026.png) ](https://brightdata.com.br/blog/ai/best-cli-tools-for-codex "As 10 Melhores Ferramentas CLI para Codex em 2026 – Testadas & Classificadas")

 [AI



 ![Daniel Shashko](https://media.brightdata.com.br/2022/04/Daniel-Shashko-2-50x50.png)

Daniel Shashko

Web Data &amp; AI Expert





### As 10 Melhores Ferramentas CLI para Codex em 2026 – Testadas &amp; Classificadas

As 10 ferramentas CLI que tornam o Codex mais rápido e capaz, começando com o Bright Data CLI para acesso real à web de dentro do sandbox.



 06-Sep-2026

 24 min de leitura

 ](https://brightdata.com.br/blog/ai/best-cli-tools-for-codex)
