当您使用含有geckodriver的硒时,网站可以检测到吗?

问题描述 投票:0回答:2

是否有可能检测到由Selenium和geckodriver控制的firefox浏览器的实例?

请注意有一个corresponding answer for chromedriver,但我想知道这是否可能firefox / geckodriver。

selenium firefox selenium-firefoxdriver geckodriver
2个回答
1
投票

是的,您可以通过简单的JavaScript检查来检测geckodriver控制的硒

var runningSelenium = !("showModalDialog" in window);

0
投票

正如其他人所指出的那样,网站有多种不同的方式可以指纹和检测您运行的是由selenium自动化的浏览器。幸运的是,一些检测机制非常简单,只是寻找一堆环境默认值,如屏幕大小等。

例如,当使用Selenium测试Dropbox等的app OAUTH注册序列时,只需将屏幕设置为非默认值(并偏移浏览器窗口以模拟任务栏)即可避免CAPTCHA阶段:

@@headless = Headless.new( dimensions: '1600x1200x24' )
@@headless.start
browser = Watir::Browser.new :firefox
width = browser.execute_script( 'return screen.width;' )
height = browser.execute_script( 'return screen.height;' ) - 95
browser.driver.manage.window.resize_to( width, height )
browser.driver.manage.window.move_to( 0,0 ) 
© www.soinside.com 2019 - 2024. All rights reserved.