capybara如何获取操作系统信息

时间:2016-01-13 10:06:51

标签: selenium operating-system capybara

我需要获取操作系统信息来处理与操作系统相关的任务。我试图通过page.driver.browser获取它,但它不会返回os信息。它可能在header但没有函数头。

如何通过page对象获取操作系统信息?

irb#1(main):016:0> page.driver
=> #<Capybara::Selenium::Driver:0x007f84a35c0858 @app=nil, @browser=#<Selenium::WebDriver::Driver:0x1a664c8c1eb09ac0 browser=:firefox>, @exit_status=nil, @frame_handles={}, @options={:browser=>:firefox}>
irb#1(main):017:0>
irb#1(main):018:0* page.driver.browser
=> #<Selenium::WebDriver::Driver:0x1a664c8c1eb09ac0 browser=:firefox>
irb#1(main):019:0>
irb#1(main):020:0* page.driver.browser.header
NoMethodError: undefined method `header' for #<Selenium::WebDriver::Driver:0x007f84a34cb9e8>

2 个答案:

答案 0 :(得分:1)

在ruby控制台中,您可以运行

Config::CONFIG["host_os"]

或者

RUBY_PLATFORM

<强> 输出:

2.0.0-p598 :001 > Config::CONFIG["host_os"]
(irb):1:in `irb_binding': Use RbConfig instead of obsolete and deprecated Config.
(irb):1:in `irb_binding': Use RbConfig instead of obsolete and deprecated Config.
 => "linux-gnu" 


2.0.0-p598 :001 > RUBY_PLATFORM
 => "x86_64-linux"

希望它有所帮助!

答案 1 :(得分:1)

使用硒你应该能够看到

page.driver.browser.capabilities.platform

这只适用于硒驱动程序,而不是其他可用的水豚驱动程序