La alternativa a selenium-stealth de código abierto
selenium-stealth todavía se descarga cientos de miles de veces al mes, pero su última versión es de 2020. Sobrescribe algunos valores con JavaScript y te pide escribir a mano la GPU y la plataforma. Clearcote genera la identidad completa dentro del motor, así que los valores concuerdan entre sí y con la red.
¿Qué es selenium-stealth?
selenium-stealth es un pequeño paquete de Python que reimplementa partes de puppeteer-extra-plugin-stealth para Selenium con Chrome. Llamas a stealth(driver, ...) y este inyecta scripts que sobrescriben navigator.webdriver, los idiomas, el vendor, la plataforma y el vendor y el renderer de WebGL. Tiene licencia MIT y sigue siendo popular: unas 284,000 descargas al mes en PyPI.
Además, no tiene mantenimiento. La última versión en PyPI (1.0.6) salió en noviembre de 2020 y el repositorio no cambia desde finales de 2021. El ejemplo del README ya no funciona tal como está escrito con el Selenium actual, que eliminó el argumento executable_path, y combina platform="Win32" con un renderer de WebGL "Intel Iris OpenGL Engine", una cadena al estilo de macOS que Chrome en Windows no reporta. Ese es el problema de fondo de las personas armadas a mano: cada valor se fija por separado y nada comprueba que pertenezcan a la misma máquina. Tampoco parchea ChromeDriver en sí; para eso existe undetected-chromedriver.
Clearcote vs selenium-stealth
| Característica | Clearcote | selenium-stealth |
|---|---|---|
| Enfoque | Parches en C++ a nivel del motor: valores nativos | Sobrescrituras de JavaScript inyectadas por Selenium |
| Coherencia de la persona | Generada a partir de un solo seed; GPU, plataforma y fuentes concuerdan | Escritos a mano; nada los contrasta entre sí |
| Rastro detectable | Ninguno: nativo en cada realm | Sobrescrituras visibles con toString y relecturas desde workers |
| Artefactos de ChromeDriver | Sin ChromeDriver: se controla por CDP | Se dejan tal cual |
| TLS / coherencia de red | El ClientHello sigue la versión de Chrome declarada | No se aborda |
| Mantenimiento | Activo, sigue el Chromium actual | Última versión: noviembre de 2020 |
| Framework | Playwright y Puppeteer (Python, Node, .NET) | Selenium (Python) |
| 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 selenium-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
Sin cadenas de GPU escritas a mano
selenium-stealth te obliga a elegir tú mismo un vendor y un renderer de WebGL. Clearcote deriva la GPU, la plataforma, las fuentes y la pantalla de un solo seed, así que describen una máquina que podría existir.
Valores nativos
Una sobrescritura inyectada se puede detectar inspeccionando la función. Clearcote cambia los valores dentro de Chromium, así que no hay ninguna sobrescritura que encontrar, ni en la página ni en un worker.
Mantenido para el Chrome de hoy
La detección avanza con cada versión de Chrome. Clearcote se publica sobre el Chromium actual; las evasiones de selenium-stealth son de 2020.
También la capa de red
Un navegador que declara una versión de Chrome debería enviar el handshake TLS de esa versión. Clearcote mantiene ambas cosas sincronizadas.
Cuándo selenium-stealth puede ser mejor opción
- Mantienes un script antiguo de Selenium que ya lo usa y solo necesita ocultar
navigator.webdriveren un sitio poco exigente. - No puedes cambiar de framework. Si vas a seguir con Selenium, échale un vistazo a SeleniumBase, que tiene mantenimiento activo.
Preguntas frecuentes
¿selenium-stealth todavía tiene mantenimiento?
No. La última versión en PyPI es la 1.0.6, de noviembre de 2020, y el repositorio de GitHub no se actualiza desde diciembre de 2021. Todavía se instala, pero sus evasiones no siguieron el ritmo de Chrome ni de la detección.
¿Qué debería usar en lugar de selenium-stealth?
Si quieres seguir con Selenium, el modo UC o CDP de SeleniumBase es la opción con mantenimiento. Si puedes pasarte a Playwright o Puppeteer, Clearcote cambia la huella digital en el motor del navegador en lugar de sobrescribirla con JavaScript.
¿Por qué importan los valores de vendor y renderer de WebGL?
Están entre los valores de huella digital que más se revisan, y tienen que concordar con la plataforma, las fuentes y cómo renderiza realmente la GPU. Una plataforma Windows con una cadena de renderer de macOS, por ejemplo, describe una máquina que no existe.
Lecturas relacionadas
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.