【发布时间】:2018-05-16 10:18:20
【问题描述】:
我对编码比较陌生。
下面是我的程序的代码,它打开一个窗口(flipkart.com)> 通过单击网页内的图标进入辅助窗口。现在我想为第一页和第二页生成窗口句柄,但它给了我如下错误
程序:
package MoinPrograms;
import java.util.Iterator;
import java.util.Set;
import java.util.concurrent.TimeUnit;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
public class MouseOverActions {
public static void main(String[] args) {
WebDriver driver = new FirefoxDriver();
driver.manage().window().maximize();
driver.get("https://www.flipkart.com/");
driver.manage().timeouts().implicitlyWait(3000, TimeUnit.SECONDS);
driver.findElement(By.xpath("// button [@class=\"_2AkmmA _29YdH8\"]")).click();
driver.findElement(By.xpath("//p [@class=\"_1AuloC\"and text()= \"Mobiles & Tablets\"]")).click();
Set<String> FlipKart = driver.getWindowHandles();
Iterator<String> k = FlipKart.iterator();
String handle1 = k.next();
String handle2 = k.next();
System.out.println(handle1);
System.out.println(handle2);
}
}
错误:
Exception in thread "main" java.util.NoSuchElementException
at java.base/java.util.LinkedHashMap$LinkedHashIterator.nextNode(Unknown Source)
at java.base/java.util.LinkedHashMap$LinkedKeyIterator.next(Unknown Source)
at MoinPrograms.MouseOverActions.main(MouseOverActions.java:24)
【问题讨论】:
-
您是如何处理第一次进入页面时的登录弹出窗口的?可能是您的代码找不到元素,因为它首先出现了一个登录弹出窗口。
标签: java selenium selenium-webdriver nosuchelementexception window-handles