ポップアップ ウィンドウの扱いは、ウィンドウの数の扱いと同じです。やってみてください:
driver().switchTo().window((String)driver.getWindowHandles().toArray()[index]);
ここで、index は新しいウィンドウのインデックスです (適切なスイッチ ウィンドウ関数で引数として渡すことができます)。
後で、次のようなよりクリーンな方法で実装できます。
*この場合、webdriver は WebDriverProxy オブジェクトでゆがんでいます。
public static void switchFocusToWindowNumber(int index, WebDriverProxy webDriverProxy) {
try {
webDriverProxy.getWebDriver().switchTo().window((String) webDriverProxy.getWebDriver().getWindowHandles().toArray()[index]);
} catch (ArrayIndexOutOfBoundsException e) {
throw new ArrayIndexOutOfBoundsException("ArrayIndexOutOfBoundsException: Number of open windows is: "
+ getNumberofWindows(webDriverProxy) + " Trying to close window number: " + index + "\n Exception: " + e);
} catch (NoSuchWindowException e) {
throw new NoSuchWindowException ("NoSuchWindowException: Number of windows is: " + getNumberofWindows(webDriverProxy) +
" Trying to close window number: " + index + "\n Exception: " + e);
}
}