【问题标题】:How to retrieve process ID for IE browser instance using Ruby or WATIR?如何使用 Ruby 或 WATIR 检索 IE 浏览器实例的进程 ID?
【发布时间】:2015-05-02 18:57:42
【问题描述】:

IE 浏览器实例已打开。如何使用 WATIR 或 Ruby 获取浏览器实例的进程 ID 或打开的浏览器选项卡:

require "Watir"
browser = Watir::Browser.new
browser.goto "www.google.com"
puts Watir::Browser::Process.process_id_from_hwnd browser.hwnd

【问题讨论】:

标签: ruby internet-explorer watir browser-automation watir-classic


【解决方案1】:
require 'watir-classic'
browser = Watir::Browser.new
Watir::Browser::Process.process_id_from_hwnd browser.hwnd

这是上面通过 IRB 测试的

C:\Users\Chuck>irb
irb(main):001:0> require 'watir-classic'
=> true
irb(main):002:0> browser = Watir::Browser.new
=> #<Watir::Browser:0x22f00454 url="about:blank" title="">
irb(main):003:0> Watir::Browser::Process.process_id_from_hwnd browser.hwnd
=> 3752

但是,这比您使用的版本更新,因此您的里程可能会有所不同

C:\Users\Chuck>gem list watir

*** LOCAL GEMS ***

commonwatir (4.0.0)
watir (5.0.0 x86-mingw32)
watir-classic (4.0.1)
watir-webdriver (0.6.11)

【讨论】:

  • 感谢您的输入,但对于您建议的代码,我仍然收到错误“未初始化的常量 Watir::Browser::Process (NameError)”。我尝试通过 netbeans 在 env.rb 中执行以下操作Ruby 插件,我也有 ruby​​1.8.7 ENV.rb 文件包含以下代码: require "Watir" browser = Watir::Browser.new browser.goto "www.google.com" puts Watir::Browser::Process.process_id_from_hwnd browser .hwnd 运行上述代码后出现错误:未初始化的常量 Watir::Browser::Process (NameError)
  • 对于 Watir v2.0.1,它需要是 Watir::IE::Process.process_id_from_hwnd browser.hwnd。注意需要Watir::IE 而不是Watir::Browser
  • 感谢贾斯汀,它使用以下代码为我工作,browser = Watir::Browser.new puts Watir::IE::Process.process_id_from_hwnd browser.hwnd
猜你喜欢
  • 1970-01-01
  • 2012-11-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-27
  • 1970-01-01
  • 2013-06-18
相关资源
最近更新 更多