我正在尝试使用id属性验证我的结果页面上是否存在某些webelement。当没有这样的元素并且不可接受时,它会抛出异常。在Selenium API JavaDoc中,建议使用' findElement'不应该用来寻找不存在的元素,使用' findElements(By)'相反,断言零长度响应。但这也是一个例外,我不知道为什么!还有其他建议吗?
try{
// THE PRESENT CODE TO BE MODIFIED. NOT TO THROW exception.***********
// if(driver1.findElement(By.id(orderResultsCheckbox_0)) != null)
// return true;
// *****************************
//Instead I wrote as below...
if(
(driver1.findElements(By.id(orderResultsCheckbox_0) != null)) && (driver1.findElements(By.id(orderResultsCheckbox_0)).length() > 0)
)
return true;
else
return false;
} catch (Exception e) {
println "Exception Thrown ==========>";
return false;
}
答案 0 :(得分:0)
findElements 方法返回一个webelements列表,您可以使用 size()方法检查列表是否包含任何webelements。因此,请使用以下内容替换现有代码,并告诉我它是否可以解决您的问题:
if(driver1.findElements(By.id(orderResultsCheckbox_0)).size() != 0)
return true;
else
return false;