Heim > Web-Frontend > js-Tutorial > Wie erkennen Websites Selenium-Automatisierung und wie kann sie umgangen werden?

Wie erkennen Websites Selenium-Automatisierung und wie kann sie umgangen werden?

Linda Hamilton
Freigeben: 2024-12-17 22:38:19
Original
878 Leute haben es durchsucht

How Do Websites Detect Selenium Automation, and How Can It Be Circumvented?

Selenium-Erkennung durch Websites

Während Selenium mit Chromedriver Browserautomatisierung bietet, verfügen einige Websites über die Möglichkeit zu erkennen, wann eine Selenium-Instanz verwendet wird , trotz des Fehlens einer expliziten Automatisierung. Diese Fähigkeit wirft die Frage auf, wie diese Websites diese Erkennung durchführen.

Erkennungstechniken

Websites verwenden verschiedene Techniken, um das Vorhandensein von Selen zu erkennen. Eine gängige Methode besteht darin, vordefinierte JavaScript-Variablen zu untersuchen, die auftreten, wenn Selenium betriebsbereit ist. Diese Variablen enthalten häufig die Begriffe „Selenium“ oder „Webdriver“ und können in Fensterobjekten und Dokumentvariablen wie $cdc_ und $wdc_ erkannt werden. Der Erkennungsmechanismus variiert je nach verwendetem Browser.

Gegenmaßnahmen

Um die Website-Erkennung zu umgehen, besteht ein Ansatz darin, das Vorhandensein bestimmter JavaScript-Variablen zu entfernen oder zu ändern. In Chrome hat es sich beispielsweise als effektiv erwiesen, den Chromedriver-Quellcode zu ändern, um $cdc_ in einen anderen Variablennamen zu ändern.

Pseudocode für die Bot-Erkennung

Einige Bot-Netzwerke nutzen möglicherweise komplexe Algorithmen, um die Selenium-Nutzung zu erkennen. Der folgende Pseudocode bietet einen Einblick in mögliche Erkennungstechniken:

runBotDetection = function () {

    // Check for window-specific detection keys
    for (windowDetectionKey in windowDetectionKeys) {
        if (window[windowDetectionKeyValue]) {
            return true;
        }
    }

    // Check for document-specific detection keys
    for (documentDetectionKey in documentDetectionKeys) {
        if (window['document'][documentDetectionKeyValue]) {
            return true;
        }
    }

    // Inspect document for specific patterns
    for (documentKey in window['document']) {
        if (documentKey.match(/$[a-z]dc_/) && window['document'][documentKey]['cache_']) {
            return true;
        }
    }

    // Check for additional external indicators
    if (window['external'] && window['external'].toString() && (window['external'].toString()['indexOf']('Sequentum') != -1)) return true;

    // Examine HTML element attributes
    if (window['document']['documentElement']['getAttribute']('selenium')) return true;
    if (window['document']['documentElement']['getAttribute']('webdriver')) return true;
    if (window['document']['documentElement']['getAttribute']('driver')) return true;

    return false;
};
Nach dem Login kopieren

Zusätzliche Methoden

Neben der Änderung von JavaScript-Variablen gibt es weitere Techniken zur Umgehung der Selenium-Erkennung:

  • Verwendung von VPNs: VPNs können das vorübergehend maskieren Die IP-Adresse des Benutzers wird gespeichert, sie können jedoch nach nachfolgenden Anfragen erkannt werden.
  • Ändern des Benutzeragenten: Durch Ändern der Benutzeragentenzeichenfolge kann der Webbrowser wie ein normaler Benutzer aussehen.
  • Deaktivieren von Browser-Plugins: Bestimmte Plugins können Informationen offenlegen, die Seleniums offenlegen können Präsenz.
  • Ändern von Headern: HTTP-Header können so manipuliert werden, dass sie dem Datenverkehr eines typischen Benutzers ähnlicher erscheinen.
  • Verwendung von Proxyservern: Proxyserver kann die Verbindung des Benutzers weiter anonymisieren.

Das obige ist der detaillierte Inhalt vonWie erkennen Websites Selenium-Automatisierung und wie kann sie umgangen werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage