Pengesanan Selenium oleh Laman Web
Walaupun Selenium dengan Chromedriver menyediakan automasi penyemak imbas, sesetengah tapak web mempunyai keupayaan untuk mengesan apabila tika selenium sedang digunakan , walaupun tiada automasi yang jelas. Keupayaan ini menimbulkan persoalan bagaimana tapak web ini mencapai pengesanan ini.
Teknik Pengesanan
Tapak web menggunakan pelbagai teknik untuk membezakan kehadiran Selenium. Satu kaedah lazim melibatkan pemeriksaan pembolehubah JavaScript yang dipratentukan yang muncul apabila Selenium beroperasi. Pembolehubah ini selalunya mengandungi istilah "selenium" atau "pemacu web" dan boleh dikesan dalam objek tetingkap dan pembolehubah dokumen seperti $cdc_ dan $wdc_. Mekanisme pengesanan berbeza-beza bergantung pada penyemak imbas yang digunakan.
Langkah Balas
Untuk memintas pengesanan tapak web, satu pendekatan ialah menghapuskan atau mengubah kehadiran pembolehubah JavaScript tertentu. Contohnya, dalam Chrome, mengubah suai kod sumber chromedriver untuk menukar $cdc_ kepada nama pembolehubah lain didapati berkesan.
Pseudocode untuk Pengesanan Bot
Sesetengah rangkaian bot boleh memanfaatkan algoritma yang kompleks untuk mengesan penggunaan Selenium. Pseudokod berikut memberikan gambaran sekilas tentang teknik pengesanan yang berpotensi:
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; };
Kaedah Tambahan
Selain mengubah pembolehubah JavaScript, teknik lain untuk mengelakkan pengesanan Selenium termasuk:
Atas ialah kandungan terperinci Bagaimanakah Laman Web Mengesan Automasi Selenium, dan Bagaimana Ia Boleh Dielakkan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!