День добрый. Пытаюсь переключиться в новую вкладку браузера. Затык с получением дескриптора.
Помогите, пожалуйста.
Кусок кода:
//получаем дескрипторы всех открытых окон Set<String> oldWindowsSet = driver.getWindowHandles(); for ( String s : oldWindowsSet ) System.out.println("Старый набор дескрипторов"+ s); By xPathLocator = By.linkText("Speedtest.net by Ookla - The Global Broadband Speed Test"); WebElement onElement = driver.findElement(xPathLocator); Actions builder = new Actions(driver); //Выбираем "Открыть в новом окне" builder.contextClick(onElement).sendKeys(Keys.ARROW_DOWN).sendKeys(Keys.RETURN).build().perform(); Thread.sleep(7000); //перейти в новое окно. // получаем новый набор дескрипторов, включающий уже и новое окно Set<String> newWindowsSet = driver.getWindowHandles(); //выводим на экран что у нас есть //Set<String> set; for ( String s : newWindowsSet ) System.out.println("Новый набор дескрипторов"+ s); // получаем дескриптор нового окна newWindowsSet.removeAll(oldWindowsSet); for (String handle: newWindowsSet) { System.out.println(handle); } String newWindowHandle = newWindowsSet.iterator().next(); //вот тут падает System.out.println(newWindowHandle); //переход в новое окно driver.switchTo().window(newWindowHandle);
Вывела на экран старый и новый набор дескрипторов: