Saltar al contenido

La alternativa a playwright-stealth de código abierto

playwright-stealth es la forma más rápida de agregar stealth a Playwright en Python: un wrapper y cada página recibe un conjunto de evasiones en JavaScript. Pero esas evasiones son sobrescrituras sobre un navegador estándar, y su propio mantenedor lo describe como una prueba de concepto. Clearcote, en cambio, fija esos valores de forma nativa en el motor, así que no hay ninguna sobrescritura que una página pueda encontrar.

¿Qué es playwright-stealth?

playwright-stealth es un port a Python de puppeteer-extra-plugin-stealth para Playwright. El port original de AtuboDad no se actualiza desde mediados de 2024; el nombre en PyPI ahora lo lleva un fork con mantenimiento activo (Mattwmaster58), que publicó la 2.0 con una API más limpia e integró los pull requests pendientes. Tiene licencia MIT y se usa muchísimo: cerca de 2.4 millones de descargas al mes en PyPI.

Funciona registrando init scripts en cada contexto, cada uno de los cuales parchea una señal: navigator.webdriver, navigator.languages, los plugins, el vendor de WebGL, chrome.runtime, etc. El mantenedor es franco sobre sus límites. El README dice que no esperes que sortee nada más allá de la detección de bots más simple, y lo describe como un punto de partida. Las razones son estructurales: una sobrescritura de JavaScript se puede detectar con Function.prototype.toString o revisando el descriptor de la propiedad, los init scripts de la página no llegan a los Web Workers, y nada en el paquete toca los efectos secundarios de CDP del propio driver de Playwright ni la capa de red.

Clearcote vs playwright-stealth

CaracterísticaClearcoteplaywright-stealth
Enfoque Parches en C++ a nivel del motor: valores nativos Init scripts de JavaScript sobre un navegador estándar
Rastro detectable Ninguno: nativo en la página, los iframes y los workers Sobrescrituras visibles con toString, descriptores y relecturas desde workers
Identidad de la huella digital Persona coherente a partir de un solo seed (canvas, WebGL, fuentes, navigator) Unos pocos valores fijados a mano sobre los reales del host
Efectos secundarios del driver / CDP Contenidos al lanzar (mundos aislados) y en el motor No se abordan; driver de Playwright estándar
TLS / coherencia de red El ClientHello sigue la versión de Chrome declarada No se aborda
Framework Playwright y Puppeteer (Python, Node, .NET) Playwright (Python)
Configuración Cambias el binario del navegador Envuelves Playwright en una línea
Costo Build abierto gratis; build más reciente gratis con GitHub; Pro $49/mes Gratis y abierto (MIT)

Comparación elaborada en septiembre de 2026. Licencia de playwright-stealth: Código abierto (MIT). Los detalles cambian, así que consulta su proyecto para ver lo más reciente.

Por qué los equipos eligen Clearcote

Nativo, no sobrescrito

Cada evasión de playwright-stealth reemplaza una función real del navegador por una de JavaScript, y ese reemplazo se puede observar. Clearcote cambia el valor dentro de Chromium, así que la función que inspecciona una página es la nativa real.

La misma respuesta en cada realm

Los init scripts parchean la página. Si vuelves a leer el mismo valor desde un Web Worker o un iframe nuevo, obtienes el original sin parchear. Los valores a nivel del motor coinciden en todas partes.

Una identidad completa, no un puñado de campos

Un seed de --fingerprint produce una máquina consistente en canvas, WebGL, audio, fuentes, pantalla y hardware, en lugar de unas pocas sobrescrituras apiladas sobre el host real.

Conserva tu código de Playwright

Clearcote es un binario de Chromium. Apunta executable_path a él, o usa el launch() del SDK, y el resto de tu script de Playwright queda igual.

Cuándo playwright-stealth puede ser mejor opción

  • Quieres probar algo en cinco minutos contra un objetivo poco exigente y no quieres gestionar un binario de navegador.
  • Tus objetivos solo revisan las señales obvias, como navigator.webdriver.
  • Ya usas Clearcote y quieres saber si todavía lo necesitas: no. Sus evasiones duplican valores que el motor ya fija, y agregar sobrescrituras de JavaScript encima vuelve a introducir el rastro que el motor elimina.

Preguntas frecuentes

¿playwright-stealth todavía funciona?

Todavía se instala y funciona, y el fork mantenido (2.x) recibe actualizaciones. Que alcance o no depende del objetivo. Su propio README advierte que solo resuelve la detección más simple, porque las sobrescrituras de JavaScript se pueden detectar y no toca las capas del driver ni de red.

¿Qué diferencia hay entre playwright-stealth y Clearcote?

playwright-stealth inyecta JavaScript en un Chromium estándar para sobrescribir un conjunto de valores. Clearcote es un Chromium modificado en el que esos valores son nativos y consistentes entre frames y workers, con una huella digital TLS acorde por debajo. Los dos se controlan con Playwright normal.

¿Debería usar playwright-stealth junto con Clearcote?

No. El motor ya reporta valores coherentes, y apilar sobrescrituras de JavaScript encima reemplaza funciones nativas por otras detectables. Lanza Clearcote con Playwright a secas.

¿Existe un playwright-stealth para Node.js?

El equivalente en Node es playwright-extra con el plugin stealth de puppeteer-extra, que tiene el mismo diseño basado en sobrescrituras de JavaScript. Clearcote funciona igual desde Python, Node y .NET.

Lecturas relacionadas

Preguntas y respuestasWhy 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.Preguntas y respuestasPlaywright 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.CompararClearcote vs puppeteer-extra-plugin-stealthEl plugin stealth sigue siendo la forma más instalada de agregarle evasiones a Puppeteer, con unas 840,000 descargas semanales, pero no publica una versión desde marzo de 2023. Cada evasión es un parche de JavaScript sobre un Chrome estándar, y los parches de JavaScript se delatan solos. Clearcote fija esos valores de forma nativa en el motor.CompararClearcote vs CamoufoxCamoufox es un navegador antidetect de código abierto bien construido, basado en Firefox. Clearcote aplica el mismo enfoque a nivel del motor sobre Chromium, así que tu automatización se presenta como el navegador que realmente usa cerca del 69% de la web, y no como uno que usa alrededor del 3%.CompararClearcote vs CloakBrowserCloakBrowser es un Chromium stealth a nivel del motor, capaz y con muchos seguidores, pero el binario parcheado es de código cerrado. Clearcote también trabaja a nivel del motor, usa un Chromium más reciente y ofrece un build abierto en el que puedes leer y recompilar cada parche.CompararClearcote vs undetected-chromedriverundetected-chromedriver todavía se descarga unos 2 millones de veces al mes, pero su última versión es de febrero de 2024. Oculta el rastro de Selenium/ChromeDriver sobre un Chrome estándar y nunca toca la huella digital ni la capa de red. Clearcote cambia ambas en el motor.

Prueba la alternativa de código abierto basada en Chromium

Gratis y de código abierto, un reemplazo directo para Playwright y Puppeteer, coherente hasta el handshake TLS.

Gratis para un navegador con GitHub. Sin tarjeta.