如何用Watir :: Browser关闭所有打开的chrome或重用已经打开?

时间:2012-06-27 22:48:26

标签: ruby google-chrome watir-webdriver

问题是应用程序是持久性的,并且作为客户端和Intranet站点之间的层。当客户端发出请求时,服务器会使用ChromeDriver打开新的Chrome窗口,进行身份验证,请求信息,解析并向客户端显示。客户端可以执行数十或数百个请求来获取新数据。但如果客户端在接下来的10分钟内没有工作,他的请求会打开新的Chrome窗口。

我找不到Watir :: Browser的任何方法来重用已打开的窗口或至少已经打开已关闭

system("taskkill /t /f /im chrome.exe")

2 个答案:

答案 0 :(得分:0)

关闭所有窗口,看看这个。

def close_all_windows
  loop do
    begin
      Watir::Chrome.attach(:title, //).close
    rescue Watir::Exception::NoMatchingWindowFoundException
      break
    rescue
      retry
    end
  end
end

如果我是你,我宁愿把焦点转移到已经打开的窗口上。如下所示:

browser.window(:title => "bbc.co.uk").use do
  # your code
end

答案 1 :(得分:0)

browser.windows.each do |window|
  window.close
end