##悩んでいる事
C#でSelenium のChromeドライバーを使用したプログラムを作っています。
その中で、現在のタブ以外を閉じる、という処理を以下のように記述しています。
C#
1//現在開いているタブ以外を閉じる 2var currentWindow = webDriver.CurrentWindowHandle; 3foreach (var windowHandle in webDriver.WindowHandles) 4{ 5 if (windowHandle == currentWindow) continue; 6 webDriver.SwitchTo().Window(windowHandle).Close(); 7}
ウィンドウの切り替えをするだけだと早いのですが、タブを閉じる処理まで行うと遅く、
現在、60タブを閉じるのに66秒かかってしまっています。
これを、遅くとも5秒以内に処理を完了させたいのですが、何か方法ありますでしょうか。
考えとして、
ChromeやEdgeなどブラウザのタブを右クリックした際の「他のタブを閉じる」をjavascriptでかければ、それで済むような気がしているのですが、どのようにかけばよいのかわかりません。
もしくは、SwitchTo() でわざわざタブを移動させずに特定のタブを指定してCloseできるのであれば、ある程度の高速化が見込めると考えています。
また、ウィンドウを閉じて現在のタブを開きなおすと以前の状態が保持されていないので今回は高速に他のタブを閉じたいです。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/06/22 05:29