Pular para o conteúdo

A alternativa ao playwright-stealth de código aberto

O playwright-stealth é o jeito mais rápido de adicionar stealth ao Playwright em Python: basta um wrapper para que toda página receba um conjunto de evasões em JavaScript. Mas as evasões são overrides num navegador padrão, e o próprio mantenedor o chama de prova de conceito. O Clearcote define esses valores nativamente no motor, então não há override nenhum para uma página encontrar.

O que é o playwright-stealth?

O playwright-stealth é um port para Python do puppeteer-extra-plugin-stealth, voltado ao Playwright. O port original, de AtuboDad, não é atualizado desde 2023; o nome no PyPI agora é usado por um fork mantido (Mattwmaster58), que lançou a 2.0 com uma API mais limpa e incorporou parte dos pull requests pendentes (versão mais recente 2.0.3, abril de 2026). Tem licença MIT e é muito usado: cerca de 3 milhões de downloads por mês no PyPI.

Ele funciona principalmente registrando init scripts em cada contexto, cada um corrigindo um indício: navigator.webdriver, navigator.languages, plugins, o vendor do WebGL, chrome.runtime e assim por diante. O mantenedor é franco sobre o teto. O README diz para não esperar que ele contorne nada além da detecção de bots mais simples e o descreve como um ponto de partida. Os motivos são estruturais: um override em JavaScript pode ser pego com Function.prototype.toString ou com uma checagem do descritor da propriedade, os init scripts da página não chegam aos Web Workers, e, embora o wrapper dele também defina algumas flags de inicialização e os headers User-Agent e Sec-CH-UA, nada no pacote mexe nos efeitos colaterais de CDP do próprio driver do Playwright nem no handshake TLS.

Clearcote vs playwright-stealth

RecursoClearcoteplaywright-stealth
Abordagem Patches em C++ no nível do motor: valores nativos Init scripts em JavaScript num navegador padrão
Emenda detectável Nenhuma: nativo na página, em iframes e em workers Overrides visíveis via toString, descritores e releitura em workers
Identidade do fingerprint Persona coerente a partir de uma seed (canvas, WebGL, fontes, navigator) Alguns valores definidos à mão sobre os reais do host
Efeitos colaterais do driver / CDP Contidos na inicialização (isolated worlds) e no motor Não tratados; driver padrão do Playwright
Coerência de TLS / rede O ClientHello acompanha a versão do Chrome declarada TLS não tratado; só define os headers User-Agent e Sec-CH-UA
Framework Playwright e Puppeteer (Python, Node, .NET) Playwright (Python)
Configuração Troque o binário do navegador Envolva o Playwright numa linha
Custo Build aberto grátis; build mais recente grátis com GitHub; Pro $49/mês Grátis e aberto (MIT)

Comparação feita em novembro de 2026. O playwright-stealth é Código aberto (MIT); os detalhes mudam — confira o projeto para ver as informações mais recentes.

Medido: 12 ferramentas nos mesmos 10 sites

Rodamos o harness open source browsers-benchmark 5 vezes, terminando em 27 de outubro de 2026. Cada ferramenta rodou com seu próprio IP residencial dos EUA, em uma ordem diferente a cada rodada. Um acerto significa que a própria verificação do harness para aquele site encontrou a página em si, e não uma página de bloqueio ou de desafio. Clearcote medido em um desktop Windows (build mais recente); as outras ferramentas, em um servidor Linux.

O harness testa tf-playwright-stealth, um fork de playwright-stealth; as linhas dele estão marcadas.

Parcela dos carregamentos de página que chegaram à página real, por ferramenta, em modo headed e headless
FerramentaHeadedHeadless
Clearcote0.63.2 · r5278%39/5080%40/50
Camoufox0.5.8 · v156.0.1-beta.3672%36/5080%40/50
Invisible Playwright0.43.0 · Firefox76%38/5078%39/50
CloakBrowser0.6.474%37/5064%32/50
SeleniumBase (CDP mode)4.49.0 · Chrome74%37/50—
nodriver0.50.6 · Chrome74%37/5040%20/50
Zendriver0.17.1 · Chrome64%32/5060%30/50
tf-playwright-stealth (Firefox)1.2.058%29/5062%31/50
tf-playwright-stealth (Chromium)1.2.056%28/5050%25/50
Playwright (Chromium)1.62.056%28/5030%15/50
Playwright (Firefox)1.62.054%27/5054%27/50
Patchright1.64.3 · Chrome24%12/5026%13/50

Sites: uma página de resultados de busca, um fórum de comunidade, o site de uma empresa de software, uma varejista de luxo, a página de produto de um marketplace, um site de venda de ingressos, uma varejista de moda, um site de reservas de viagem, uma companhia aérea, uma rede social. Este é um retrato de uma rede e de uma semana: os resultados mudam a cada release, a cada proxy e com os próprios sites, e nenhuma ferramenta carregou todos os sites todas as vezes. Resultados brutos (JSON).

Por que equipes escolhem o Clearcote

Nativo, não sobrescrito

Cada evasão do playwright-stealth substitui uma função real do navegador por uma em JavaScript, e essa substituição é observável. O Clearcote muda o valor dentro do Chromium, então a função que a página inspeciona é a nativa de verdade.

A mesma resposta em todo realm

Init scripts aplicam patches na página. Leia o mesmo valor de novo a partir de um Web Worker ou de um iframe novo e você recebe o original, sem patch. Valores no nível do motor batem em todo lugar.

Uma identidade inteira, não um punhado de campos

Uma seed de --fingerprint produz uma máquina consistente em canvas, WebGL, áudio, fontes, tela e hardware, em vez de alguns overrides empilhados sobre o host real.

Mantenha seu código Playwright

O Clearcote é um binário Chromium. Aponte o executable_path para ele, ou use o launch() do SDK, e o resto do seu script Playwright continua igual.

Quando o playwright-stealth pode ser a melhor escolha

  • Você quer testar algo em cinco minutos num alvo permissivo e não quer gerenciar um binário de navegador.
  • Seus alvos só checam os indícios óbvios, como navigator.webdriver.
  • Você já usa o Clearcote e quer saber se ainda precisa do playwright-stealth: não precisa. As evasões dele duplicam valores que o motor já define, e adicionar overrides em JavaScript por cima traz de volta a emenda que o motor elimina.

Perguntas frequentes

O playwright-stealth ainda funciona?

Ele ainda instala e roda, e a versão mais recente do fork mantido é a 2.0.3 (abril de 2026). Se ele basta ou não depende do alvo. O próprio README avisa que ele só lida com a detecção mais simples, porque overrides em JavaScript podem ser detectados e ele não mexe no driver nem na camada TLS.

Qual é a diferença entre o playwright-stealth e o Clearcote?

O playwright-stealth injeta JavaScript num Chromium padrão para sobrescrever um conjunto de valores. O Clearcote é um Chromium modificado em que esses valores são nativos, consistentes entre frames e workers, com um fingerprint TLS correspondente por baixo. Você controla os dois com o Playwright comum.

Devo usar o playwright-stealth junto com o Clearcote?

Não. O motor já informa valores coerentes, e empilhar overrides em JavaScript por cima troca funções nativas por outras detectáveis. Inicie o Clearcote com o Playwright puro.

Existe um playwright-stealth para Node.js?

O equivalente em Node é o playwright-extra com o plugin stealth do puppeteer-extra, que tem o mesmo design de overrides em JavaScript. O Clearcote funciona do mesmo jeito em Python, Node e .NET.

Até onde vai

Mais que o dobro de patches de qualquer fork que comparamos.

Patches compilados no Chromium, por abordagem. Ferramentas baseadas em scripts não mudam o motor.

Plugins de stealth

ex.: puppeteer-extra-plugin-stealth

0

Drivers modificados

ex.: undetected-chromedriver, nodriver

0

Outros forks do Chromium

builds gratuitos e pagos

35–87

Clearcote Pro

r57, Chromium 156

240

Número de patches publicado, outubro de 2026. A faixa cobre os builds gratuitos e pagos dos outros forks; no Clearcote, é o build Pro.

Teste

365 verificações, grátis, no seu próprio navegador

O teste de fingerprint a que todo build do Clearcote é submetido. Rode no que você usa hoje e compare.

Rodar o teste
Leia

Os patches do build aberto são públicos

O build aberto gratuito é BSD-3, reproduzível a partir do código-fonte e não precisa de conta. O build Pro adiciona patches privados por cima.

Abrir no GitHub
Acompanhe

57 versões do motor, 7 versões principais do Chromium

Cada patch é levado para cada nova versão do Chromium. O build mais recente recebe as novas versões principais no dia do lançamento.

Ver as versões

Leituras relacionadas

DocumentaçãoMigrating from playwright-stealth or PatchrightReplace one line: clearcote.launch() returns a Playwright browser with the fingerprint set in the engine. What to remove from your script.Perguntas e respostasWhy does Function.toString() reveal a hooked function?Calling toString() on a native function returns “[native code]”; an override returns its own source instead — so detectors stringify APIs to catch JavaScript spoofs.Perguntas e respostasPlaywright vs Puppeteer for stealth: does it matter?Both drive Chromium over CDP, so both leak the same automation artifacts. Stealth comes from the browser binary and launch defaults, not the framework you pick.ComparaçãoClearcote vs puppeteer-extra-plugin-stealthO plugin stealth ainda é a forma mais instalada de acoplar evasões ao Puppeteer, com mais de um milhão de downloads por semana, mas não tem uma versão nova desde março de 2023. Cada evasão é um patch em JavaScript sobre um Chrome padrão, e patches em JavaScript se denunciam. O Clearcote define esses valores nativamente no motor.ComparaçãoClearcote vs CamoufoxO Camoufox é um navegador antidetect de código aberto bem construído, baseado em Firefox. O Clearcote aplica a mesma abordagem no nível do motor ao Chromium, para que sua automação apresente o navegador que cerca de 66% da web realmente usa, e não um usado por cerca de 3%.ComparaçãoClearcote vs CloakBrowserO CloakBrowser é um Chromium stealth competente, no nível do motor, com muitos seguidores, mas o binário com os patches é de código fechado. O Clearcote também atua no nível do motor e oferece um build aberto em que você pode ler e recompilar cada patch.ComparaçãoClearcote vs undetected-chromedriverO undetected-chromedriver ainda é baixado cerca de 2,5 milhões de vezes por mês, mas a última versão saiu em fevereiro de 2024. Ele esconde a emenda Selenium/ChromeDriver num Chrome padrão e nunca mexe no fingerprint nem na camada de rede. O Clearcote muda os dois no motor.

Experimente a alternativa de código aberto baseada em Chromium

Grátis e de código aberto, plug-and-play no Playwright e no Puppeteer, coerente até o handshake TLS.

Grátis para um navegador: GitHub, uma verificação de cartão ou uma conta corporativa do Google. Nunca é cobrado.