¿Puede un sitio web detectar cuándo está utilizando Selenium con chromedriver?

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

He estado probando Selenium con Chromedriver y noté que algunas páginas pueden detectar que estás usando Selenium aunque no hay ninguna automatización. Incluso cuando estoy navegando manualmente usando Chrome a través de Selenium y Xephyr A menudo recibo una página que dice que se detectó actividad sospechosa. Revisé mi agente de usuario y la huella digital de mi navegador, y todos son exactamente idénticos al navegador Chrome normal.

Cuando navego a estos sitios en Chrome normal, todo funciona bien, pero en el momento en que uso Selenium I"m detected.

En teoría, chromedriver y Chrome deberían verse literalmente exactamente iguales para cualquier servidor web, pero de alguna manera pueden detectarlo.

Si desea probar un código de prueba esto:

from pyvirtualdisplay import Display from selenium import webdriver 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=Default") chrome_options.add_argument("--incognito") chrome_options.add_argument("--disable-plugins-discovery") ; chrome_options.add_argument("--start-maximized") driver = webdriver.Chrome(chrome_options=chrome_options) driver.delete_all_cookies() driver.set_window_size(800,800) driver.set_window_position(0,0) print "argumentos hechos" driver.get ("http://stubhub.com") 

Si navega por stubhub, será redirigido y "bloqueado" en una o dos solicitudes. He estado investigando esto y no pueden entender cómo pueden saber que un usuario está usando Selenium.

¿Cómo lo hacen?

Instalé el complemento IDE de Selenium en Firefox y me banearon cuando fui a stubhub.com en el navegador Firefox normal con solo el complemento adicional.

Cuando uso Fiddler para ver las solicitudes HTTP que se envían de un lado a otro, noté que las solicitudes del "navegador falso" a menudo tienen "sin caché" en el encabezado de respuesta.

Resultados como este Es th Hay una forma de detectar que estoy en una página de Selenium Webdriver desde JavaScript Sugerimos que no debería haber forma de detectar cuándo está utilizando un controlador web. Pero esta evidencia sugiere lo contrario.

El sitio carga una huella digital en sus servidores, pero revisé y la huella digital de Selenium es idéntica a la huella digital cuando se usa Chrome.

Este es uno de las cargas útiles de huellas dactilares que envían a sus servidores: {"appName":"Netscape","plataforma":"Linuxx86_64","cookies":1,"syslang":"en-US", "idioma de usuario":"en-US","cpu":"","subproducto":"20030107","setTimeout":1,"setInterval":1,"plugins" :{"0":"ChromePDFViewer","1":"ShockwaveFlash","2":"WidevineContentDecryptionModule","3":"NativeClient","4":"ChromePDFViewer" ;},"mimeTypes":{"0":"aplicación/pdf","1":"ShockwaveFlashapplication/x-shockwave-flash","2":"FutureSplashPlayerap plication/futuresplash","3":"WidevineContentDecryptionModuleapplication/x-ppapi-widevine-cdm","4":"NativeClientExecutableapplication/x-nacl","5":"PortableNativeClientExecutableapplication/x-pnacl" ,"6":"PortableDocumentFormatapplication/x-google-chrome-pdf"},"pantalla":{"ancho":1600,"alto":900,"colorProfundidad":24}," fuentes":{"0":"monoespaciado","1":"DejaVuSerif","2":"Georgia","3":"DejaVuSans","4":" ;TrebuchetMS","5":"Verdana","6":"AndaleMono","7":"DejaVuSansMono","8":"LiberationMono","9":" ;NimbusMonoL","10":"CourierNew","11":"Courier"}}

Es idéntico en Selenium y en Chrome.

VPN funcionan para un solo uso, pero se ponen detectado después de cargar la primera página. Claramente, se está ejecutando JavaScript para detectar Selenium.