0

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

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

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

2 回答 2

1
browser.windows.each do |window|
  window.close
end
于 2015-10-14T14:41:52.743 回答
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
于 2012-06-28T14:48:53.877 回答