---
title: "Evite ser bloqueado com Puppeteer Stealth"
slug: avoid-getting-blocked-with-puppeteer-stealth
date: 2023-12-05T10:19:32+00:00
modified: 2026-04-20T11:25:20+00:00
permalink: https://brightdata.com.br/blog/procedimentos/avoid-getting-blocked-with-puppeteer-stealth
type: blog
---

[ Blog ](https://brightdata.com.br/blog "Blog") / [procedimentos](https://brightdata.com.br/blog/procedimentos)







 [procedimentos](https://brightdata.com.br/blog/procedimentos)

# Evite ser bloqueado com Puppeteer Stealth

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

 8 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)





 ![Avoid Getting Blocked With Puppeteer Stealth](https://media.brightdata.com.br/2023/12/Avoid-Getting-Blocked-With-Puppeteer-Stealth.svg)





Este tutorial de Puppeteer Stealth irá cobrir:

- O que é a deteção de bots e porque é que é um problema para Puppeteer.
- O que é Puppeteer Extra.
- Como utilizar o Plugin Stealth com Puppeteer Extra para evitar bloqueios.

## Deteção de bots: O maior inimigo de Puppeteer

Puppeteer é uma das bibliotecas de JavaScript mais utilizadas para a automatização do navegador. É tão popular porque é apoiada pela equipa de Chrome em Google. A sua API de alto nível permite-lhe controlar navegadores sem cabeça ou com cabeça através do protocolo DevTools, o que a torna uma excelente ferramenta para a raspagem da web, testes automatizados e desenvolvimento de bots.

No entanto, Puppeteer pode ser facilmente impedido por tecnologias de deteção de bots. Isto é particularmente verdade quando se utiliza [Chrome/Chromium em modo sem cabeça](/blog/procedimentos/what-is-a-headless-browser). Porquê? Porque Puppeteer define automaticamente propriedades e cabeçalhos predefinidos que fazem com que o navegador sob controlo apareça como uma instância sem cabeça. Por exemplo, define a seguinte configuração de Chrome: `navigator.webdriver: true`.

As soluções antibot sabem disso e analisam essas definições para determinar se o usuário atual é um humano ou um bot. Quando encontram algumas configurações suspeitas, marcam o usuário como um bot.

Por exemplo, considere este [teste de deteção de bots em modo sem cabeça](https://arh.antoinevastel.com/bots/areyouheadless). Se abrir a página de teste no seu navegador, verá:

![ Se abrir a página de teste no seu navegador, verá que não é Chrome sem cabeça

](https://media.brightdata.com.br/2023/12/3o2jOHwN.png)Agora, tente visitar esse sítio com Puppeteer vanilla e extraia o resultado do teste:

```none
import puppeteer from "puppeteer"

(async () => {
    // set up the browser and launch it
    const browser = await puppeteer.launch()

    // open a new blank page
    const page = await browser.newPage()

    // navigate the page to the target page
    await page.goto("https://arh.antoinevastel.com/bots/areyouheadless")

    // extract the message of the test result
    const resultElement = await page.$("#res")
    const message = await resultElement.evaluate(e => e.textContent)

    // print the resulting message
    console.log(`The result of the test is "%s"`, message);

    // close the current browser session
    await browser.close()
})()
```

Inicie o script acima e verá:

```none
The result of the test is "You are Chrome headless"
```

Isto significa que o teste falhou, uma vez que a página foi capaz de detetar o pedido automático como vindo de um navegador sem cabeça.

Por defeito, Puppeteer é uma ferramenta limitada. Para evitar a deteção de bots, teria de o ajustar manualmente e substituir as configurações predefinidas. Evite tudo isso com Puppeteer Extra!

## Puppeteer Extra: Uma versão extensível de Puppeteer

Puppeteer Extra é um wrapper leve construído em torno de Puppeteer que o estende com suporte a plugins. Por outras palavras, `<a href="https://www.npmjs.com/package/puppeteer-extra" rel="noopener nofollow" target="_blank">puppeteer-extra</a>` é um substituto de `puppeteer`. Para além de funcionar como a popular biblioteca de automação do navegador, fornece o método `use()` para registar plugins.

Cada plugin acrescenta uma funcionalidade extra a Puppeteer. Alguns dos plugins mais úteis disponíveis são:

- `puppeteer-extra-plugin-stealth`: Para tornar mais difícil para a tecnologia de deteção de bots detetar instâncias de navegador sem cabeça.
- `puppeteer-extra-plugin-recaptcha`: Para [resolver reCAPTCHAs e hCaptchas](https://brightdata.com.br/products/web-unlocker/captcha-solver) automaticamente.
- `puppeteer-extra-plugin-adblocker`: Para remover anúncios e rastreadores, reduzindo a largura de banda e os tempos de carregamento como resultado.
- `puppeteer-extra-plugin-devtools`: Para tornar a depuração do navegador possível a partir de qualquer lugar, criando um túnel seguro para as ferramentas de desenvolvimento.
- `puppeteer-extra-plugin-repl`: Para tornar a depuração divertida com uma interface REPL (Read-Eval-Print-Loop) interativa.
- `puppeteer-extra-plugin-block-resources`: Para bloquear dinamicamente os recursos da página, como imagens, ficheiros multimédia, CSS e JS.
- `puppeteer-extra-plugin-anonymize-ua`: Para tornar anónimo o cabeçalho de agente de usuário na navegação da página. Saiba porque é que isto é importante no nosso guia sobre[ agente de usuário para raspagem da web](https://brightdata.com.br/blog/procedimentos/user-agents-for-web-scraping-101).
- `puppeteer-extra-plugin-user-preferences`: Para definir as preferências personalizadas do usuário de Chrome/Chromium.

Vamos agora aprofundar o plugin Puppeteer Stealth.

## O que é e o que faz o plugin Stealth de Puppeteer Extra

`<a href="https://github.com/berstend/puppeteer-extra/tree/master/packages/puppeteer-extra-plugin-stealth#readme" rel="noopener nofollow" target="_blank">puppeteer-extra-plugin-stealth</a>` é um plugin para Puppeteer Extra que inclui um conjunto de configurações para evitar a deteção de bots. Em pormenor, Puppeteer Stealth baseia-se em módulos de evasão incorporados que substituem as fugas e propriedades de Puppeteer que o expõem como um bot. Por exemplo, remove “HeadlessChrome” do cabeçalho de agente de usuário e exclui a propriedade `navigator.webdriver` definida pelo Puppeteer por padrão.

O objetivo do plugin Stealth de Puppeteer Extra é fazer com que uma instância de Chromium sem cabeça controlada pelo Puppeteer passe todos os testes de deteção de bots em sannysoft.com. Atualmente, atinge o seu objetivo. Ao mesmo tempo, [como indicado na documentação oficial](https://github.com/berstend/puppeteer-extra/tree/master/packages/puppeteer-extra-plugin-stealth#status), ainda há maneiras de detetar o Chromium sem cabeça. Isto significa que é impossível contornar todos os mecanismos de deteção de bots, mas a ideia do projeto é tornar esse processo o mais difícil possível.

## Como utilizar Puppeteer Stealth para evitar a deteção de bots durante a raspagem de páginas web

Está na altura de ver como integrar Puppeteer Stealth num script de raspagem de `Puppeteer` para evitar ser bloqueado.

Siga os passos abaixo!

### Passo 1: Instalar Puppeteer Extra e o plug-in Stealth

Execute o comando abaixo para adicionar Puppeteer Extra e o plugin Puppeteer Stealth às dependências do seu projeto:

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

Ótimo! Acabou de cumprir os pré-requisitos para integrar o plug-in Stealth no seu script automatizado de Puppeteer.

### Passo 2: Configurar Puppeteer Extra e registar o plug-in Stealth

Primeiro, substitua a instrução de importação de `puppeteer` por esta instrução:

```none
import puppeteer from "puppeteer-extra"
```

Por outras palavras, certifique-se de que importa o objeto `puppeteer` de `"puppeteer-extra``"` e não de `"puppeteer``"`.

Depois, importe `StealthPlugin` de `puppeteer-extra-plugin-stealth`:

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

Se, em vez disso, for um usuário de CommonJS, precisará:

```none
const puppeteer = require("puppeteer-extra")
const StealthPlugin = require("puppeteer-extra-plugin-stealth")
```

Em seguida, registe o plugin Stealth, passando-o para o objeto de `Puppeteer `através do método `use()`:

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

Espetacular! Acabou de adicionar ao Puppeteer as capacidades de evasão predefinidas suportadas pelo plug-in.

Note-se que o construtor `StealthPlugin()` aceita um objeto opcional com o conjunto de cadeias de caracteres correspondentes às evasões a ativar:

```none
// enable only a few evasion techniques
puppeteer.use(StealthPlugin({
    enabledEvasions: new Set(["chrome.app", "chrome.csi", "defaultArgs", "navigator.plugins"])
}))
```

Caso contrário, utilize a lógica abaixo para remover dinamicamente uma estratégia de evasão específica do plug-in Stealth:

```none
const stealthPlugin = StealthPlugin()
puppeteer.use(stealthPlugin)

// ...

// remove the "user-agent-override" evasion method
pluginStealth.enabledEvasions.delete("user-agent-override")
```

### Passo 3: Juntar tudo

Integre Puppeteer Extra e o seu plugin Stealth no script que viu no início do artigo:

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

(async () => {
    // configure the stealth plugin
    puppeteer.use(StealthPlugin())
    // set up the browser and launch it
    const browser = await puppeteer.launch()

    // open a new blank page
    const page = await browser.newPage()

    // navigate the page to the target page
    await page.goto("https://arh.antoinevastel.com/bots/areyouheadless")

    // extract the message of the test result
    const resultElement = await page.$("#res")
    const message = await resultElement.evaluate(e => e.textContent)

    // print the resulting message
    console.log(`The result of the test is "%s"`, message);

    // close the current browser session
    await browser.close()
})()
```

Execute este trecho e imprimirá:

```none
The result of the test is "You are not Chrome headless"
```

Et voilà! A página selecionada com capacidades de deteção de bots já não é capaz de marcar o seu script automatizado de Puppeteer como um bot.

Parabéns! Agora é um ninja de Puppeteer Stealth, e nenhuma tecnologia de deteção de bots vai assustá-lo.

## Conclusão

Neste artigo, você entendeu por que a deteção de bots é um desafio para Puppeteer e como lidar com isso. Graças a Puppeteer Extra, pode alargar a funcionalidade de Puppeteer com plugins. Em particular, o plugin Stealth é um grande aliado para evitar a deteção de bots, e aqui aprendeu a utilizá-lo.

Não importa o quão sofisticado seja o seu Puppeteer Extra, as tecnologias antibot avançadas, como Cloudflare, ainda serão capazes de detetar e bloquear os seus scripts. Pode optar por outro pacote de automatização do navegador, mas a causa da deteção é o navegador e não a biblioteca. A solução é um navegador escalável com funcionalidade de desvio antibot que possa ser integrado em qualquer biblioteca de automatização de navegadores. Esse navegador existe e chama-se [Navegador de Raspagem](https://brightdata.com.br/products/scraping-browser)!

O Navegador de Raspagem da Bright Data é um navegador de nuvem altamente escalável que funciona com [Puppeteer](https://brightdata.com.br/products/scraping-browser/puppeteer), [Playwright](https://brightdata.com.br/products/scraping-browser/playwright), [Selenium](https://brightdata.com.br/products/scraping-browser/selenium) e muito mais. Rota automaticamente o IP de saída em cada pedido e pode tratar da impressão digital do navegador, da resolução de CAPTCHA e de tentativas automáticas por você. Isto é possível graças às funcionalidades de desbloqueio baseadas em proxy em que assenta.

Os proxies de Bright Data são usados por empresas da Fortune 500 e mais de 20.000 clientes. Esta rede mundial fiável de proxy envolve:

- [Proxies de centros de dados](https://brightdata.com.br/proxy-types/datacenter-proxies) – Mais de 770.000 IPs de centros de dados.
- [Proxies residenciais](https://brightdata.com.br/proxy-types/residential-proxies) – Mais de 400M+ monthly de IPs residenciais em mais de 195 países.
- [Proxies de ISP](https://brightdata.com.br/proxy-types/isp-proxies) – Mais de 700.000 IPs de ISP.

Fale com um dos nossos representantes de vendas e veja qual dos produtos da Bright Data melhor se adapta às suas necessidades.



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









 Índice







Dedicated Scraper APIs &amp; No-Code Scrapers

Over 1000 scrapers for all popular domains. Simplify your web scraping.

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

Just want data? Skip scraping.

Hundreds of ready-to-use datasets from all popular domains.

[See pricing](/pricing/datasets "See pricing")







 [ ](https://news.ycombinator.com/submitlink?t=Evite+ser+bloqueado+com+Puppeteer+Stealth&u=https://brightdata.com.br/blog/procedimentos/avoid-getting-blocked-with-puppeteer-stealth) [ ](https://www.linkedin.com/shareArticle?mini=true&title=Evite+ser+bloqueado+com+Puppeteer+Stealth&url=https://brightdata.com.br/blog/procedimentos/avoid-getting-blocked-with-puppeteer-stealth) [ ](http://www.reddit.com/submit?title=Evite+ser+bloqueado+com+Puppeteer+Stealth&url=https://brightdata.com.br/blog/procedimentos/avoid-getting-blocked-with-puppeteer-stealth)







##  Você também pode estar interessado em

 [ ![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)

 [ ![Puppeteer vs Playwright](https://media.brightdata.com.br/2023/11/Puppeteer-vs-Playwright.svg) ](https://brightdata.com.br/blog/dados-do-site/puppeteer-vs-playwright "Puppeteer vs. Playwright: Guia de Comparação")

 [Dados do site



 ![White number one with a flame on top.](https://media.brightdata.com.br/2023/03/Favicon-2-1-50x50.png)

Jakkie Koekemoer





### Puppeteer vs. Playwright: Guia de Comparação

Guia de comparação entre Puppeteer e Playwright. Conheça os pontos fortes e fracos dessas ferramentas de automação de navegadores.



 19-Nov-2023

 2 min de leitura

 ](https://brightdata.com.br/blog/dados-do-site/puppeteer-vs-playwright)

 [ ![Web Scraping With Puppeteer blog image](https://media.brightdata.com.br/2023/05/Web-Scraping-With-Puppeteer.svg) ](https://brightdata.com.br/blog/procedimentos/web-scraping-puppeteer "Raspagem da web com Puppeteer")

 [procedimentos



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

Antonello Zanini

Technical Writer





### Raspagem da web com Puppeteer

Aprenda a raspar sítios web estáticos e dinâmicos utilizando o Puppeteer neste guia passo a passo.



 25-May-2023

 7 min de leitura

 ](https://brightdata.com.br/blog/procedimentos/web-scraping-puppeteer)
