我正在编写一段代码,其中在if条件下,我给出一个条件,即如果显示元素,则它们仅进入if部分,否则,如果未显示元素,则应进入其他部分。但是,只要遇到if条件,它就会搜索元素,而找不到元素时,它将给出超时异常。该怎么办?
public void addaddress() {
suites.setupEnviroment();
WebDriver driver = suites.getWebDriver();
try {
//code to find elements
try {
if(driver.findElement(By.xpath("//div[@class='toast lgksToast ']")).isDisplayed()){
System.out.println("fail");
}
else{
System.out.println("pass");
}
} catch (Exception e) {
System.out.println(e);
}
}catch(Exception e) {
System.out.println(e);
}
}
在上面的代码中,如果未找到具有此xpath的元素(// div [@ class ='toast lgksToast']),则该元素未执行else部分 我该怎么办,请提出建议。
预先感谢
答案 0 :(得分:1)
将size()
方法与findElements
一起使用,它将开始起作用。
if(driver.findElements(By.xpath("//div[@class='toast lgksToast ']")).size() > 0) {
System.out.println("fail");
} else {
System.out.println("pass");
}