2016-01-13 67 views
1

我需要獲取操作系統信息來處理操作系統相關的任務。我試圖通過page.driver.browser得到它,但它不返回操作系統信息。它可能在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> 

回答

1

使用硒,你應該能夠看到

page.driver.browser.capabilities.platform 

這隻會爲硒司機的工作,雖然,沒有其他可用的水豚的驅動

+0

感謝它至少對Firefox和Chrome有效。 –

1

在Ruby控制檯,您可以運行

Config::CONFIG["host_os"] 

或者

RUBY_PLATFORM 

OUTPUT:

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" 

希望它有幫助!

+0

請仔細閱讀這個問題......我想他想通過他的水豚/硒代碼來獲得信息,而不是在控制檯中。 – fabersky

+0

他想知道操作系統信息,以便他可以執行依賴於操作系統的任務來執行他的硒操作。如果他在寫Ruby代碼,他可以運行這個命令獲取輸出並繼續執行他的硒代碼! – Paras

+0

我怎樣才能通過'page'對象達到它? –

相關問題