使用Selenium WebDriver和Ruby获取浏览器版本

时间:2016-07-13 18:41:53

标签: ruby selenium-webdriver webdriver firefox-marionette geckodriver

尝试在不进行系统调用的情况下提取浏览器版本。下面是我的Ruby代码。

#!/usr/bin/env ruby

require "selenium-webdriver"

# Tell the Ruby bindings to use Marionette.
# This will not be necessary in the future,
# when Selenium will default to marionette

caps = Selenium::WebDriver::Remote::Capabilities.firefox marionette: true
browser = Selenium::WebDriver.for :firefox, :desired_capabilities => caps

puts browser.capabilities["version"]

执行后没有任何东西返回终端。

2 个答案:

答案 0 :(得分:0)

我用硒测试了这个。似乎这一行是问题所在:

puts browser.capabilities["version"]

以下两种获取版本的方法:

browser.capabilities.version
browser.capabilities.send(:capabilities)[:version]

答案 1 :(得分:0)

使用selenium-webdriver(3.4.0)

browser_version = case @driver.browser
                  when :firefox
                    @driver.execute_script('return navigator.userAgent;').split('/')[-1]
                  when :chrome, :safari
                    @driver.capabilities[:version]
                  when :ie
                    @driver.execute_script('return navigator.userAgent;').split("MSIE ")[1].split(";")[0]
                  end