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



尝试在不进行系统调用的情况下提取浏览器版本。下面是我的 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"]

执行后不会向终端返回任何内容。

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

puts browser.capabilities["version"]

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

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

使用 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

最新更新