javascript – Un site Web peut-il détecter que Firefox s’exécute sur Marionette ?
L’exécution de Firefox sur Selenium nécessite le pilote Gecko, car le moteur Gecko n’est pas vraiment compatible avec le protocole JSON Wire. Ainsi, le Geckodriver exécute un serveur HTTP en servant toutes les commandes entre Selenium et le navigateur en traduisant avec Marionette. Un site Web peut-il réellement dire que le navigateur actuel est contrôlé par Marionette ? J’ai vu que vous pouvez accéder à une « page marionnette » en utilisant localhost et le port marionnette dans la configuration, lorsque Firefox est automatisé. Firefox montre également ce robot, qui indique à l’utilisateur que le navigateur actuel est automatisé. Donc, une sorte de détection d’automatisation est intégrée, mais est-elle accessible ?
Edit : Oui, c’est vrai, que différents navigateurs exposent différentes choses, mais la détection de javascript ne fonctionne plus. Il a pu détecter Selenium RC, car pour fonctionner, il a dû injecter du code Javascript dans le navigateur. Depuis Selenium 2.0, le Webdriver communique directement avec le navigateur, donc la simple détection de variables Javascript ne fonctionnera pas. J’ai également trouvé et expliqué certaines de ces expositions, mais un site Web peut-il réellement y accéder d’une manière ou d’une autre? Autre différence d’exposition : Chrome définit l’attribut navigator.webdriver sur true, mais pas firefox.
Discussion about this post