0

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

执行后没有任何内容返回到终端。

4

2 回答 2

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
于 2017-08-02T08:17:53.487 回答
0

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

puts browser.capabilities["version"]

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

browser.capabilities.version
browser.capabilities.send(:capabilities)[:version]
于 2016-07-13T19:37:20.363 回答