网站可以检测到您何时将 selenium 与 geckodriver 一起使用吗?

Can a website detect when you are using selenium with geckodriver?

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

请注意有一个 ,但我想知道这是否适用于 firefox/geckodriver。

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

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

正如其他人指出的那样,站点可以通过多种不同的方式来识别和检测您是 运行 已由 selenium 自动化的浏览器。幸运的是,一些检测机制非常简单,只需查找一堆环境默认值,例如屏幕尺寸等。

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

@@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 )