Bir web sitesi, Selenium’u chromedriver ile kullandığınızı algılayabilir mi?

| | | | | | | | | | | | | | | | | | | | | | | | | |

Selenium'u Chromedriver ile test ediyordum ve hiçbir otomasyon olmamasına rağmen bazı sayfaların Selenium kullandığınızı algılayabildiğini fark ettim. Xephyr Sık sık şüpheli etkinliğin algılandığını söyleyen bir sayfa alıyorum. Kullanıcı aracımı ve tarayıcı parmak izimi kontrol ettim ve hepsi normal Chrome tarayıcıyla tamamen aynı.

Bu sitelere normal Chrome'da göz attığımda her şey yolunda gidiyor, ancak kullandığım an Selenium I"m algılandı.

Teoride, chromedriver ve Chrome herhangi bir web sunucusunda tam anlamıyla aynı görünmelidir, ancak bir şekilde onu algılayabilirler.

Bir test kodunu denemek isterseniz bu:

pyvirtualdisplay import'dan Display Selenium import webdriver'dan display = Display(visible=1, size=(1600, 902)) display.start() chrome_options = webdriver.ChromeOptions() chrome_options. add_argument("--disable-extensions") chrome_options.add_argument("--profile-directory=Varsayılan") chrome_options.add_argument("--incognito") chrome_options.add_argument("--disable-plugins-discovery") ; chrome_options.add_argument("--start-maximized") sürücü = webdriver.Chrome(chrome_options=chrome_options) driver.delete_all_cookies() driver.set_window_size(800,800) driver.set_window_position(0,0) "argümanlar tamamlandı" yazdır driver.get ("http://stubhub.com") 

stubhub'da gezinirseniz, yönlendirilirsiniz ve bir veya iki istekte "engellenirsiniz". Bunu araştırıyordum ve ben bir kullanıcının Selenium kullandığını nasıl anlayabileceklerini anlayamıyorum.

Bunu nasıl yapıyorlar?

Selenium IDE eklentisini Firefox'a yükledim ve bunu yaptığımda yasaklandım. normal Firefox tarayıcısında sadece ek eklentiyle stubhub.com'a gittim.

İleri ve geri gönderilen HTTP isteklerini görüntülemek için Fiddler'ı kullandığımda "sahte tarayıcı" isteklerinin "fark ettim" yanıt başlığında genellikle "önbellek yok" bulunur.

Bunun gibi sonuçlar Bu JavaScript'ten bir Selenium Web sürücüsü sayfasında olduğumu algılamanın bir yolu, bir web sürücüsü kullandığınızı algılamanın hiçbir yolu olmaması gerektiğini gösteriyor. Ancak bu kanıtlar aksini gösteriyor.

Site sunucularına bir parmak izi yüklüyor, ancak kontrol ettim ve Selenium'un parmak izi Chrome kullanırkenki parmak iziyle aynı.

Bu da onlardan biri. sunucularına gönderdikleri parmak izi yükleri: {"appName":"Netscape","platform":"Linux86_64","cookies":1,"syslang":"en-US", "userlang":"en-US","cpu":"","productSub":"20030107","setTimeout":1,"setInterval":1,"plugins"; :{"0":"ChromePDFViewer","1":"ShockwaveFlash","2":"WidevineContentDecryptionModule","3":"NativeClient",PD:"F"4 ;},"mimeTypes":{"0":"application/pdf","1":"ShockwaveFlashapplication/x-shockwave-flash","2":"FutureSplashPlayerap plication/futuresplash","3":"WidevineContentDecryptionModuleapplication/x-ppapi-widevine-cdm","4":"NativeClientExecutableapplication/x-nacl","5Exquot;:Client/xPortableNativeNative" ,"6":"PortableDocumentFormatapplication/x-google-chrome-pdf"},"screen":{"width":1600,"height":900,"colorDepth":24},"; fontlar":{"0":"monospace","1":"DejaVuSerif","2":"Gürcistan","3":"DejaVuSans","4":" ;TrebuchetMS","5":"Verdana","6":"AndaleMono","7":"DejaVuSansMono","8":"LiberationMono","9; ;NimbusMonoL","10":"CourierNew","11":"Courier"}}

Selenium ve Chrome'da aynıdır.

VPN'ler tek bir kullanım için çalışırlar, ancak ilk sayfayı yükledikten sonra algılandı. Açıkça Selenium'u tespit etmek için bazı JavaScript'ler çalıştırılıyor.