0

私のテストコードは何かを実行し、新しいタブを自動的に開き、新しいタブで新しいウィンドウ(タブではなく)を自動的に開きます。

このコードを使用すると、driver.getWindowHandles()3 つのタブ ID ではなく 2 つのタブ ID が返されます。

ここに画像の説明を入力

4

1 に答える 1

1

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);
    }
}

参考文献

関連する詳細な議論のいくつかは、次の場所にあります。

于 2020-03-29T18:28:51.447 に答える