私のテストコードは何かを実行し、新しいタブを自動的に開き、新しいタブで新しいウィンドウ(タブではなく)を自動的に開きます。
このコードを使用すると、driver.getWindowHandles()
3 つのタブ ID ではなく 2 つのタブ ID が返されます。
私のテストコードは何かを実行し、新しいタブを自動的に開き、新しいタブで新しいウィンドウ(タブではなく)を自動的に開きます。
このコードを使用すると、driver.getWindowHandles()
3 つのタブ ID ではなく 2 つのタブ ID が返されます。
WebDriverWaitを誘導する必要があるWindowHandlesの数をカウントするのが新しいウィンドウの場合、次のコード ブロックを使用できます。numberOfWindowsToBe(2)
String mainWindowHandler = driver.getWindowHandle(); // store mainWindowHandler for future references
//line of code that opens a new TAB / Window
new WebDriverWait(driver, 5).until(ExpectedConditions.numberOfWindowsToBe(2)); //induce WebDriverWait
Set<String> handles = driver.getWindowHandles();
Iterator<String> iterator = handles.iterator();
while (iterator.hasNext())
{
String subWindowHandler = iterator.next();
if (!mainWindowHandler.equalsIgnoreCase(subWindowHandler))
{
driver.switchTo().window(subWindowHandler);
}
}
関連する詳細な議論のいくつかは、次の場所にあります。