Как обработать новое окно, которое автоматически открывается в новой вкладке? - PullRequest
0 голосов
/ 29 марта 2020

Мой тестовый код делает что-то, затем автоматически открывает новую вкладку и в новой вкладке автоматически открывает новое окно (не вкладку).

Когда я использую этот код: driver.getWindowHandles() возвращается 2 идентификатора вкладки вместо 3 идентификатора вкладки.

enter image description here

1 Ответ

1 голос
/ 29 марта 2020

Если это новое окно для подсчета количества WindowHandles , вам нужно вызвать WebDriverWait для 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);
    }
}

Ссылки

Вы можете найти пару подробных подробных обсуждений в:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...