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