我有一个场景,在某些情况下应用程序崩溃并显示警告"严重错误"发生了。但很少发生。所以为了解决这个问题,我编写了一个代码
if (driver.findElement(By.xpath("/html/body/form/div[4]/div[3]/div[1]/div[1]/div[1]/span[1]")).isDisplayed()){
System.out.println("Critical Error Occured.");
driver.close();
} else {
但即使没有显示关键错误页面,也会执行if条件,并显示No such element exception。可以做些什么?
答案 0 :(得分:0)
您可以在if条件中使用isDisplayed
方法或验证其大小以检查元素是否存在,这不是问题,但您在何处放置代码很重要。 No such element exception
发生,因为代码在放置它的位置进行验证,并且您没有得到错误页面,它会抛出异常
解决方案可能:将条件放在可能出现错误的页面/必要的地方
答案 1 :(得分:-1)
您应该使用
检查元素是否存在List<WebElement> criticalError = driver.findElements(By.xpath("/html/body/form/div[4]/div[3]/div[1]/div[1]/div[1]/span[1]"));
if(criticalError.size() >0) {
System.out.println("Critical Error Occured.");
driver.close();
}
else {
// continue the test
}