Я тестував Selenium за допомогою Chromedriver і помітив, що на деяких сторінках можна виявити, що ви використовуєте Selenium, хоча автоматики взагалі немає. Навіть коли я переглядаю вручну, лише використовуючи хром через Селен і Ксефір, я часто отримую сторінку з повідомленням про виявлення підозрілої активності. Я перевірив свій користувальницький агент і відбиток свого браузера, і всі вони точно ідентичні звичайному браузеру Chrome.
Коли я переглядаю ці сайти в звичайному хромі, все працює нормально, але в момент використання Селену мене виявляють.
Теоретично хромедрівер і хром повинні виглядати буквально точно так само, як і будь-який веб-сервер, але якимось чином вони це можуть виявити.
Якщо вам потрібен тестовий код, спробуйте це:
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 'arguments done'
driver.get('http://stubhub.com')
Якщо переглядати заглуху, ви переймете та будете "заблоковані" протягом одного або двох запитів. Я досліджував це, і не можу зрозуміти, як вони можуть сказати, що користувач використовує Selenium.
Як вони це роблять?
РЕДАКТУВАТИ ОНОВЛЕННЯ:
Я встановив плагін Selenium IDE у Firefox, і мені заборонили, коли я перейшов на stubhub.com у звичайний браузер Firefox лише з додатковим плагіном.
Редагувати:
Коли я використовую Fiddler для перегляду HTTP-запитів, що надсилаються туди-сюди, я помітив, що запити "підроблених браузерів" часто мають "без кешу" у заголовку відповіді.
Редагувати:
Результати на кшталт цього Чи існує спосіб виявити, що я перебуваю на сторінці Selenium Webdriver з Javascript, підказує, що не повинно бути ніякого способу виявлення, коли ви використовуєте веб-диск. Але це свідчення говорить про інше.
Редагувати:
Сайт завантажує відбиток пальців на їх сервери, але я перевірив, і відбиток селену є ідентичним відбитку пальця при використанні хрому.
Редагувати:
Це одна з корисних навантажень відбитків пальців, які вони надсилають на свої сервери
{"appName":"Netscape","platform":"Linuxx86_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","4":"ChromePDFViewer"},"mimeTypes":{"0":"application/pdf","1":"ShockwaveFlashapplication/x-shockwave-flash","2":"FutureSplashPlayerapplication/futuresplash","3":"WidevineContentDecryptionModuleapplication/x-ppapi-widevine-cdm","4":"NativeClientExecutableapplication/x-nacl","5":"PortableNativeClientExecutableapplication/x-pnacl","6":"PortableDocumentFormatapplication/x-google-chrome-pdf"},"screen":{"width":1600,"height":900,"colorDepth":24},"fonts":{"0":"monospace","1":"DejaVuSerif","2":"Georgia","3":"DejaVuSans","4":"TrebuchetMS","5":"Verdana","6":"AndaleMono","7":"DejaVuSansMono","8":"LiberationMono","9":"NimbusMonoL","10":"CourierNew","11":"Courier"}}
Її однакові як в селені, так і в хромі
Редагувати:
VPN працюють за одноразове використання, але виявляються після завантаження першої сторінки. Очевидно, що для виявлення Selenium запущено деякий JavaScript.
distill
технологію виявлення бота і доставляє контент з допомогою akamaitechnologies.com
CDN від diffrent зобр наприклад 95.100.59.245
, 104.70.243.66
,23.202.161.241