在一个 Ruby on Rails 项目中,我发现了这个方法,其目标是根据环境检索 Selenium 驱动程序。(开发、测试或生产)
def driver
@driver ||= begin
if Rails.env.production?
driver = Selenium::WebDriver.for :remote, url: 'http://localhost:4444/wd/hub'
else
driver = Selenium::WebDriver.for :firefox
end
driver.manage.timeouts.implicit_wait = 1
driver
end
end
当然,我阅读了官方文档,但仍然不是很清楚:
http://code.google.com/p/selenium/wiki/RemoteWebDriver - http://code.google.com/p/selenium/wiki/FirefoxDriver
这两种方式(远程和Firefox)有什么区别?
特别是,对于删除的方式,为什么将指向的主机设置为 localhost...确实,如果选择了 localhost,为什么不选择 firefox 驱动程序呢?