try {
List<WebElement> list1 = driver.findElements(By.tagName("a"));
for (WebElement e : list1) {
if (e.getAttribute("href").equalsIgnoreCase("/ProductsRoute.do")) {
if (driver.findElement(By.id("buttonCheck++Check")).isDisplayed()) {
driver.findElement(By.id("buttonCheck++Check")).click();
ProductConfPageexceptionHandler(driver);
break;
}
else if (driver.findElement(By.name("Next")).isDisplayed()) {
WebElement nextBut = driver.findElement(By.name("Next"));
nextBut.click();
break;
}
break;
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
问题在于,当脚本执行e.getAttribute(&#34; href&#34;)时,它会查找/ProductsRoute.do。如果它没有找到它,那么它应该在那里打破。但问题是我得到java.lang.NullPointerException。
期望是,它应该找到尝试找到href /Products.do,如果它不存在,它应该在那里打破。如果它在/Product.do中,那么它应该执行下一个if。需要您帮助找到问题。谢谢你们!
答案 0 :(得分:1)
可能的解决方案:
检查列表大小并确保元素存在
断言(list1.size()&gt; 0).isTrue()
在条件
之前给出一些等待时间driver.manage()。timeouts()。implicitlyWait(10,TimeUnit.SECONDS);