是否可以检测由Selenium和geckodriver控制的firefox浏览器的实例?
注意有一个corresponding answer for chromedriver,但我想知道这是否可以用于firefox / geckodriver。
答案 0 :(得分:1)
是的,你可以通过简单的JavaScript检查来检测geckodriver控制的硒
var runningSelenium = !("showModalDialog" in window);
答案 1 :(得分:0)
正如其他人指出的那样,站点可以通过多种不同方式来指纹识别和检测您正在运行由硒自动化的浏览器。幸运的是,某些检测机制非常简单,仅查找一系列环境默认值,例如屏幕尺寸等。
例如,当使用Selenium来测试Dropbox等应用的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 )