0

問題は、アプリが永続的であり、クライアントとイントラネット サイトの間のレイヤーとして機能することです。クライアントがリクエストを行うと、サーバーは 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 に答える