【问题标题】:capybara how to get operating system infocapybara 如何获取操作系统信息
【发布时间】:2016-04-18 06:04:47
【问题描述】:

我需要获取操作系统信息来处理与操作系统相关的任务。我试图通过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>

【问题讨论】:

    标签: selenium operating-system capybara


    【解决方案1】:

    使用 selenium 你应该可以查看

    page.driver.browser.capabilities.platform
    

    这仅适用于 selenium 驱动程序,不适用于其他可用的 capybara 驱动程序

    【讨论】:

    • 有人在capabilities.platform 上获得了文档的链接吗?我已经确认它有效,但正在寻找更多信息。
    【解决方案2】:

    在您的 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"
    

    希望对你有帮助!

    【讨论】:

    • 请仔细阅读问题...我认为他想通过他的水豚/硒代码而不是在控制台中获取信息。
    • 他想知道操作系统信息,以便他可以执行依赖于操作系统的任务来执行他的硒操作。如果他正在编写 ruby​​ 代码,他可以运行此命令获取输出并继续编写他的 selenium 代码!
    • 我怎样才能通过page对象访问它?
    猜你喜欢
    • 2015-11-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-24
    • 1970-01-01
    • 2010-11-22
    • 2016-08-10
    • 1970-01-01
    相关资源
    最近更新 更多