1、在做web功能自动化时,有时需要通过判断某个元素是否存在来决定下一步的操作,但如果直接通过如下命令来进行查找时,如果不存在程序会报错,无法达到想要的效果,而java中也没有可以直接调用的工具类,因此就需要我们自己来创建一个工具类进行调用。
driver.findElement(By.xpath(""));
2、如图所示,创建一个工具类,定义一个查找方法,如果能找到元素则返回true,找不到则返回false;
需要注意的是该方法是boolean类型,因此需要有boolean;且涉及到WebDriver和By对象变量的引用,因此需要在方法中定义该变量
public class JudgeElement {
/**
* 判断某个元素是否存在
*/
public boolean isJudgingElement(WebDriver driver, By by) {
try {
driver.findElement(by);
return true;
} catch (Exception e) {
//System.out.println("不存在此元素");
return false;
}
}
}
3、查找元素是否存在的工具类完成后,在另一个类中通过实例化类,并调用方法进行引用,调用代码如下
//实例化判断元素是否存在的工具类
JudgeElement issueJe = new JudgeElement();
//定义需要查找的元素赋值给by
By by = By.xpath("//*元素");
//调用工具类中的方法并传递需要查找的元素变量by以及driver。如果存在返回true,不存在则返回false
Boolean bl = issueJe.isJudgingElement(driver, by);
//将返回的结果赋值给布尔类型的bl变量,
if(bl){ //元素存在
.......
}else{//元素不存在
......
}