---
title: "Como contornar CAPTCHAs com o Playwright"
slug: bypass-captchas-with-playwright
date: 2025-11-16T09:02:21+00:00
modified: 2025-11-16T09:02:22+00:00
permalink: https://brightdata.com.br/blog/dados-do-site/bypass-captchas-with-playwright
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 Playwright

Aprenda a contornar CAPTCHAs usando o Playwright e garanta que suas tarefas de Scraping de dados sejam executadas sem interrupções.

 10 min de leitura





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

 [Antonello Zanini

Technical Writer

 ](https://brightdata.com/blog/authors/antonello-zanini)





 ![How to Bypass CAPTCHAs With Playwright blog image](https://media.brightdata.com.br/2024/07/How-to-Bypass-CAPTCHAs-With-Playwright.svg)





Neste guia, você aprenderá:

- O que é um CAPTCHA e se ele pode ser evitado
- Como implementar a lógica de bypass do CAPTCHA do Playwright
- O que fazer caso o CAPTCHA ainda apareça.

Hora de mergulhar no assunto!

## O que são CAPTCHAs e é possível contorná-los?

[CAPTCHA](/blog/web-data/what-is-a-captcha), abreviação de “Completely Automated Public Turing tests to tell Computers and Humans Apart” (Testes de Turing públicos completamente automatizados para diferenciar computadores e humanos), é um teste usado para distinguir usuários humanos de bots automatizados. É um desafio projetado especificamente para ser fácil para humanos, mas difícil para máquinas resolverem.

![Example of a CAPTCHA](https://media.brightdata.com/2024/07/Example-of-a-CAPTCHA.png)Os provedores populares de CAPTCHA incluem Google reCAPTCHA, hCaptcha e BotDetect. Eles geralmente suportam um ou mais dos tipos de CAPTCHA abaixo:

- **Desafios baseados em imagens:** os usuários devem identificar objetos específicos em uma grade de imagens ou identificar imagens que atendam a uma determinada suposição.
- **Desafios baseados em texto:** os usuários devem digitar uma sequência de letras e números distorcidos.
- **Desafios baseados em áudio:** os usuários devem digitar as palavras que ouvem.
- **Desafios de quebra-cabeças:** os usuários devem resolver um quebra-cabeça simples, como deslizar uma peça para o lugar certo.

Os CAPTCHAs podem fazer parte de um fluxo específico do usuário, como a etapa final do envio de um formulário:

![CAPTCHA as a step of a form submission process example](https://media.brightdata.com/2024/07/CAPTCHA-as-a-step-of-a-form-submission-process-example.png)Nesses casos, o CAPTCHA é sempre exibido e não pode ser realmente evitado por bots. O que você pode fazer é integrar seu software com bibliotecas de resolução de CAPTCHA para automatizá-los ou serviços que dependem de operadores humanos para resolver esses desafios em tempo real. No entanto, CAPTCHAs codificados não são comuns porque são irritantes e prejudicam a experiência do usuário.

Mais comumente, os CAPTCHAs são usados como parte de soluções anti-bot mais amplas, como WAFs ([Web](https://www.cloudflare.com/learning/ddos/glossary/web-application-firewall-waf/)[ Application Firewalls](https://www.cloudflare.com/learning/ddos/glossary/web-application-firewall-waf/)):

![Example of a Web Application Firewall](https://media.brightdata.com/2024/07/Example-of-a-Web-Application-Firewall-1024x488.png)Esses sistemas exibem dinamicamente um CAPTCHA quando suspeitam que o usuário pode ser um bot. Nesses casos, os CAPTCHAs podem ser contornados fazendo seu bot imitar o comportamento humano. Ainda assim, esse é um jogo de gato e rato que requer a atualização contínua do seu script automatizado para [evitar novas medidas de detecção de bots](/webinar/bot-detection).

Uma solução mais eficaz para contornar o CAPTCHA é usar uma ferramenta baseada em emulação de usuário e sempre atualizada, como [o CAPTCHA Solver](/products/web-unlocker/captcha-solver) da Bright Data.

## Playwright Bypass CAPTCHA: tutorial passo a passo

Como você acabou de aprender, uma abordagem eficaz para evitar CAPTCHAs é fazer com que seu script automatizado simule comportamentos humanos enquanto use uma impressão digital semelhante à humana. Uma das melhores ferramentas para esse fim é [o Playwright](https://playwright.dev/), uma biblioteca líder em automação de navegadores que aparece na lista das [melhores ferramentas de Scraping de dados do ano](/blog/web-data/best-web-scraping-tools).

Nesta seção do tutorial, você verá como implementar a lógica de contorno de CAPTCHA do Playwright. Você aprenderá como atingir esse objetivo usando um script Node.js em JavaScript. Se você é um desenvolvedor Python, pode dar uma olhada em nosso guia equivalente sobre [o Playwright Stealth](/blog/how-tos/avoid-bot-detection-with-playwright-stealth).

Vamos começar!

**Etapa 1: inicialize seu projeto Node.js**

Se você já tem um script [de Scraping de dados](/blog/how-tos/playwright-web-scraping) ou teste [do Playwright](/blog/how-tos/playwright-web-scraping), pode pular esta etapa. Caso contrário, crie uma pasta para o seu projeto de solucionador de CAPTCHA do Playwright e insira-a no terminal:

```none
mkdir playwright_demo

cd playwright_demo
```

Inicialize um novo projeto Node.js dentro dela com o comando [npm init](https://docs.npmjs.com/cli/v10/commands/npm-init) abaixo:

```none
`npm init -y`
```

Abra a pasta do projeto em seu IDE JavaScript favorito e adicione um novo arquivo `script.js`.

![Adding a new script.js file in the IDE](https://media.brightdata.com/2024/07/Adding-a-new-script.js-file-in-the-IDE.png)Em seguida, não se esqueça de abrir `o package.json` e [marcar seu projeto como um módulo](https://nodejs.org/api/packages.html#type) adicionando:

`"type": "module"`

Ótimo, a pasta do seu projeto agora contém um aplicativo Node.js.

**Etapa 2: Instale o Playwright Extra**

Uma das fraquezas conhecidas do Playwright é que ele não oferece suporte a plug-ins. A comunidade compensou essa deficiência com [o Playwright Extra](https://github.com/berstend/puppeteer-extra/tree/master/packages/playwright-extra#readme), uma biblioteca que amplia [`o Playwright`](https://www.npmjs.com/package/playwright) com suporte a plug-ins.

Adicione `playwright` e [`playwright-extra`](https://www.npmjs.com/package/playwright-extra) às dependências do seu projeto com este comando:

```none
`npm i playwright playwright-extra`
```

Isso pode demorar um pouco, então seja paciente.

**Passo 3: Configure seu script do Playwright**

É hora de inicializar seu script para permitir que o Playwright resolva os desafios CAPTCHA. Importe o navegador que você deseja controlar do `playwright-extra` adicionando esta linha ao `script.js`:

```none
`import { chromium } from "playwright-extra"`
```

Neste caso, vamos automatizar o comportamento humano no Chromium.

Em seguida, inicialize uma nova função [assíncrona](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/async_function) onde realizar a interação semelhante à humana usando a API do Playwright:

```none
(async () => {

    // configure o navegador e inicie-o

    const browser = await chromium.launch()

    // abra uma nova página em branco

    const page = await browser.newPage()

    // lógica de automação do navegador...

    // feche o navegador e libere seus recursos

    await browser.close()

})()
```

Isso inicia uma nova instância do Chromium e abre uma nova página antes de fechar o navegador. Ótimo, você está pronto para adicionar a lógica de automação do navegador!

**Etapa 4: implementar a lógica de automação do navegador**

O site de destino será [bot.sannysoft.com](https://bot.sannysoft.com/), uma página da web especial que executa alguns testes no navegador para descobrir se o usuário é um humano ou um bot. Se você tentar visitar esta página no seu navegador local, verá que todos os testes foram aprovados.

Conecte-se à página de destino usando o método [`goto()`](https://playwright.dev/docs/api/class-page#page-goto):

```none
`await page.goto("https://bot.sannysoft.com/")`
```

Em seguida, faça uma captura de tela de toda a página para ver os resultados dos testes anti-bot:

```none
`await page.screenshot("results.png")`
```

Junte tudo e você obterá o seguinte arquivo `script.js`:

```none
import { chromium } from "playwright-extra"

(async () => {

    // configure o navegador e inicie-o

    const browser = await chromium.launch()

    // abra uma nova página em branco

    const page = await browser.newPage()

    // navegue até a página de destino

    await page.goto("https://bot.sannysoft.com/")

    // tire uma captura de tela de toda a página

    await page.screenshot({

        path: "results.png",

        fullPage: true

    })

    // feche o navegador e libere seus recursos

    await browser.close()

})()
```

Execute o código acima com o comando abaixo:

```none
` node script.js`
```

O script abrirá uma instância do Chromium no modo headless, visitará a página desejada, fará uma captura de tela e, em seguida, fechará o navegador. Se você abrir o arquivo `results.png` que aparecerá na pasta raiz do projeto ao final da execução do script, verá:

![results.png file example](https://media.brightdata.com/2024/07/results.png-file-example-196x1024.png)Como você pode ver, o Playwright básico no modo headless não passa em vários testes. É por isso que os WAFs exibem CAPTCHAs ao interagir com páginas no Playwright. A solução? O plugin Stealth!

**Etapa 5: Instale o plugin Playwright Stealth**

[O Playwright Stealth](https://github.com/berstend/puppeteer-extra/tree/39248f1f5deeb21b1e7eb6ae07b8ef73f1231ab9/packages/puppeteer-extra-plugin-stealth) é um plugin para `o playwright-extra` que impede a detecção de bots. Esse plugin substitui várias configurações para fazer com que a instância do navegador pareça natural, como se não estivesse sendo controlada pelo Playwright. Especificamente, esse módulo modifica as propriedades do navegador para impedir todos os vazamentos que expõem o navegador como automatizado.

O plugin Stealth foi originalmente desenvolvido para [o Puppeteer Extra](/blog/how-tos/avoid-getting-blocked-with-puppeteer-stealth), mas também funciona para o Playwright Extra. Instale-o através do pacote npm `puppeteer-extra-plugin-stealth` com este comando:

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

Em seguida, importe o plugin Stealth no seu arquivo `script.js` com esta linha:

```none
`import StealthPlugin from "puppeteer-extra-plugin-stealth"`
```

**Etapa 6: registre as configurações do Stealth**

Para implementar a lógica de bypass do CAPCHA do Playwright, basta registrar o plugin Stealth no `playwright-extra` através do método `use()`:

```none
`chromium.use(StealthPlugin())`
```

O navegador controlado pelo Playwright agora aparecerá como um navegador real em uso por um usuário humano.

### Passo 7: Repita o teste de detecção de bot

Aqui está como seu arquivo `script.js` deve estar atualmente:

```none
import { chromium } from "playwright-extra"

import StealthPlugin from "puppeteer-extra-plugin-stealth"

(async () => {

    // registre o plugin Stealth

    chromium.use(StealthPlugin())

    // configurar o navegador e iniciá-lo

    const browser = await chromium.launch()

    // abrir uma nova página em branco

    const page = await browser.newPage()

    // navegar até a página de destino

    await page.goto("https://bot.sannysoft.com/")

    // tirar uma captura de tela de toda a página

    await page.screenshot({

        path: "results.png",

        fullPage: true

    })

    // fechar o navegador e liberar seus recursos

    await browser.close()

})()
```

Execute o script novamente:

```none
`node script.js`
```

Abra `results.png` novamente e você verá que todos os testes de detecção de bots foram aprovados:

![results.png file second example - bot-detection tests passed](https://media.brightdata.com/2024/07/results.png-file-second-example-bot-detection-tests-passed-229x1024.png)Et voilà! O truque para contornar o CAPTCHA do Playwright está completo!

## E se a solução do solucionador de CAPTCHA do Playwright acima não funcionar?

Infelizmente, as configurações do navegador não são o único aspecto em que as ferramentas anti-bot concentram sua atenção. A reputação do IP é outro fator importante, e você não pode simplesmente alterar seu IP de saída com uma biblioteca gratuita. Você precisa [da integração do Proxy Playwright](/integration/playwright) para isso!

Assim, os CAPTCHAs ainda podem aparecer mesmo que você configure seu navegador de maneira ideal. Para CAPTCHAs simples que requerem apenas um único clique, você pode usar o plugin [`puppeteer-extra-plugin-recaptcha`](https://github.com/berstend/puppeteer-extra/tree/39248f1f5deeb21b1e7eb6ae07b8ef73f1231ab9/packages/puppeteer-extra-plugin-recaptcha). No entanto, a abordagem baseada em plugins do capítulo anterior funciona apenas contra medidas anti-bot básicas. Ao lidar com ferramentas mais complexas, como o Cloudflare, você precisa de algo mais poderoso.

Procurando um solucionador de CAPTCHA Playwright real? Experimente as soluções de scraping de dados da Bright Data!

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/simplecaptcha), [GeeTest CAPTCHA](/products/web-unlocker/captcha-solver/geetest-captcha), [FunCaptcha](/products/web-unlocker/captcha-solver/funcaptcha), [Cloudflare Turnstile](/products/web-unlocker/captcha-solver/cloudflare-turnstile), [AWS WAF Captcha](/products/web-unlocker/captcha-solver/aws-waf-captcha), [KeyCAPTCHA](/products/web-unlocker/captcha-solver/keycaptcha) e muitos outros. Integrar o CAPTCHA Solver da Bright Data ao seu script é 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). Além disso, confira a [documentação](https://docs.brightdata.com/scraping-automation/web-unlocker/introduction) para obter todos os detalhes de integração e configuração.

## Conclusão

Neste artigo, você aprendeu por que os CAPTCHAs representam um desafio para o Playwright e como lidar com eles. Usando a biblioteca Playwright Stealth, você pode substituir a configuração padrão do navegador para contornar a detecção de bots. Ainda assim, essa abordagem pode não ser sempre suficiente.

Não importa o quão sofisticado seja o seu script Playwright, os sistemas avançados de detecção de bots ainda podem identificá-lo como um bot. A solução é 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 API existe e é chamada [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ê. Esqueça as medidas antibots!

Registre-se agora e comece seu teste gratuito hoje mesmo.



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+Playwright&u=https://brightdata.com.br/blog/dados-do-site/bypass-captchas-with-playwright) [ ](https://www.linkedin.com/shareArticle?mini=true&title=Como+contornar+CAPTCHAs+com+o+Playwright&url=https://brightdata.com.br/blog/dados-do-site/bypass-captchas-with-playwright) [ ](http://www.reddit.com/submit?title=Como+contornar+CAPTCHAs+com+o+Playwright&url=https://brightdata.com.br/blog/dados-do-site/bypass-captchas-with-playwright)







##  Você também pode estar interessado em

 [ ![cURL User Agent Guide blog image](https://media.brightdata.com.br/2024/05/cURL-User-Agent-Guide.svg) ](https://brightdata.com.br/blog/dados-do-site/curl-user-agent "Guia do agente de usuário cURL: configuração e alteração")

 [Dados do site



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

Antonello Zanini

Technical Writer





### Guia do agente de usuário cURL: configuração e alteração

Aprenda a definir e alterar o cabeçalho User-Agent no cURL para melhorar seus esforços de Scraping de dados.



 22-Feb-2026

 11 min de leitura

 ](https://brightdata.com.br/blog/dados-do-site/curl-user-agent)

 [ ![](https://media.brightdata.com.br/2024/02/Avoid-Bot-Detection-with-Playwright-Stealth.png) ](https://brightdata.com.br/blog/procedimentos/avoid-bot-detection-with-playwright-stealth "Evite a detecção de bots com o Playwright Stealth")

 [procedimentos



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

Antonello Zanini

Technical Writer





### Evite a detecção de bots com o Playwright Stealth

Contorne a detecção de bots com o plugin Playwright Stealth. Nosso guia rápido mostra como integrar o Stealth em seus scripts da Playwright, mantendo sua automação da web fluida e indetectável.



 20-Feb-2024

 8 min de leitura

 ](https://brightdata.com.br/blog/procedimentos/avoid-bot-detection-with-playwright-stealth)

 [ ![Avoid Getting Blocked With Puppeteer Stealth](https://media.brightdata.com.br/2023/12/Avoid-Getting-Blocked-With-Puppeteer-Stealth.svg) ](https://brightdata.com.br/blog/procedimentos/avoid-getting-blocked-with-puppeteer-stealth "Evite ser bloqueado com Puppeteer Stealth")

 [procedimentos



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

Antonello Zanini

Technical Writer





### Evite ser bloqueado com Puppeteer Stealth

Saiba como integrar Puppeteer Stealth num script de raspagem de Puppeteer para evitar ser bloqueado.



 05-Dec-2023

 8 min de leitura

 ](https://brightdata.com.br/blog/procedimentos/avoid-getting-blocked-with-puppeteer-stealth)
