0

Trying to extract the browser version without making a system call. Below is my Ruby code.

#!/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"]

There is nothing returned to the terminal after execution.

tenorsax
  • 21,123
  • 9
  • 60
  • 107
bitmvr
  • 99
  • 1
  • 8

2 Answers2

0

I tested this with selenium. It seems this line is the problem:

puts browser.capabilities["version"]

Here's two ways to get at the version:

browser.capabilities.version
browser.capabilities.send(:capabilities)[:version]
max pleaner
  • 26,189
  • 9
  • 66
  • 118
0

With 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
xpapazaf
  • 252
  • 3
  • 6