Aller au contenu

L'alternative à selenium-stealth open source

selenium-stealth est encore téléchargé des centaines de milliers de fois par mois, mais sa dernière version date de 2020. Il surcharge quelques valeurs en JavaScript et vous demande de saisir le GPU et la plateforme à la main. Clearcote génère l’identité entière à l’intérieur du moteur : les valeurs concordent entre elles et avec le réseau.

Qu'est-ce que selenium-stealth ?

selenium-stealth est un petit package Python qui réimplémente une partie de puppeteer-extra-plugin-stealth pour Selenium avec Chrome. Vous appelez stealth(driver, ...) et il injecte des scripts qui surchargent navigator.webdriver, les langues, le vendor, la plateforme ainsi que le vendor et le renderer WebGL. Il est sous licence MIT et toujours populaire : environ 284000 téléchargements PyPI par mois.

Il n’est par ailleurs plus maintenu. La dernière version PyPI (1.0.6) date de novembre 2020, et le dépôt n’a pas bougé depuis fin 2021. L’exemple du README ne fonctionne plus tel quel avec le Selenium actuel, qui a supprimé l’argument executable_path, et il associe platform="Win32" à un renderer WebGL "Intel Iris OpenGL Engine", une chaîne de style macOS que Chrome sous Windows ne renvoie pas. C’est le problème de fond des personas assemblés à la main : chaque valeur est définie isolément, et rien ne vérifie qu’elles appartiennent à la même machine. Il laisse aussi ChromeDriver lui-même non patché ; c’est le rôle d’undetected-chromedriver.

Clearcote vs selenium-stealth

FonctionnalitéClearcoteselenium-stealth
Approche Patchs C++ au niveau du moteur : valeurs natives Surcharges JavaScript injectées par Selenium
Cohérence du persona Généré à partir d’une seule seed ; GPU, plateforme et polices concordent Valeurs saisies à la main, sans aucune vérification croisée
Raccord détectable Aucun : natif dans chaque realm Surcharges visibles via toString et les relectures depuis un worker
Artefacts ChromeDriver Pas de ChromeDriver : pilotage via CDP Laissés en place
Cohérence TLS / réseau Le ClientHello suit la version de Chrome annoncée Non traitée
Maintenance Actif, suit le Chromium actuel Dernière version en novembre 2020
Framework Playwright et Puppeteer (Python, Node, .NET) Selenium (Python)
Coût Build ouvert gratuit ; dernier build gratuit avec GitHub ; Pro $49/mois Gratuit et open source (MIT)

Comparatif établi en septembre 2026. Licence de selenium-stealth : Open source (MIT) ; les détails évoluent — consultez le projet pour les informations les plus récentes.

Pourquoi les équipes choisissent Clearcote

Pas de chaînes GPU tapées à la main

selenium-stealth vous oblige à choisir vous-même un vendor et un renderer WebGL. Clearcote dérive GPU, plateforme, polices et écran d’une seule seed : ils décrivent une machine qui pourrait exister.

Des valeurs natives

Une surcharge injectée peut être détectée en inspectant la fonction. Clearcote modifie les valeurs à l’intérieur de Chromium : il n’y a aucune surcharge à trouver, ni dans la page ni dans un worker.

Maintenu face au Chrome d’aujourd’hui

La détection évolue à chaque version de Chrome. Clearcote sort sur le Chromium actuel ; les évasions de selenium-stealth datent de 2020.

La couche réseau aussi

Un navigateur qui annonce une version de Chrome doit envoyer le handshake TLS de cette version. Clearcote les maintient en phase.

Quand selenium-stealth peut être le meilleur choix

  • Vous maintenez un vieux script Selenium qui l’utilise déjà et n’a besoin que de masquer navigator.webdriver sur un site peu exigeant.
  • Vous ne pouvez pas changer de framework. Si vous restez sur Selenium, regardez du côté de SeleniumBase, qui est activement maintenu.

FAQ

selenium-stealth est-il encore maintenu ?

Non. La dernière version sur PyPI est la 1.0.6, de novembre 2020, et le dépôt GitHub n’a pas été mis à jour depuis décembre 2021. Il s’installe toujours, mais ses évasions n’ont suivi ni Chrome ni l’évolution de la détection.

Que faut-il utiliser à la place de selenium-stealth ?

Si vous voulez rester sur Selenium, le mode UC ou CDP de SeleniumBase est l’option maintenue. Si vous pouvez passer à Playwright ou Puppeteer, Clearcote modifie l’empreinte dans le moteur du navigateur au lieu de la surcharger en JavaScript.

Pourquoi les valeurs vendor et renderer de WebGL comptent-elles ?

Elles font partie des valeurs d’empreinte les plus vérifiées, et elles doivent concorder avec la plateforme, les polices et la façon dont le GPU effectue réellement le rendu. Une plateforme Windows associée à une chaîne renderer macOS, par exemple, décrit une machine qui n’existe pas.

Essayez l'alternative Chromium open source

Gratuit et open source, s'utilise tel quel avec Playwright et Puppeteer, cohérent jusqu'au handshake TLS.

Gratuit pour un navigateur avec GitHub. Sans carte.