条件:如何检查数据是否显示
Boolean isPresent3 = driver.findElements(By.cssSelector(".input-horizon.horizon-program-guide.form-control.ng-pristine.ng-untouched.ng-valid.ng-not-empty.ng-valid-min")).size()> 0;
if (isPresent3 == true) {
System.out.println("Aflam data exists");
}
else {
System.out.println("Aflam data does not exists");
}
Boolean isPresent3 = driver.findElements(By.cssSelector("csspath")).size()> 0;
这段代码有时会起作用,有时却没有任何有效的解决方案
答案 0 :(得分:0)
它检查页面上是否存在该元素。要检查元素的可见性,应使用“ isDisplayed()”。我的建议是同时使用这两个条件。
List<WebElement> elem= driver.findElements(By.cssSelector(".input-horizon.horizon-program-guide.form-control.ng-pristine.ng-untouched.ng-valid.ng-not-empty.ng-valid-min"));
if(elem.size()> 0){
if(elem.get(0).isDisplayed()){
System.out.println("Element is dislayed and present");
}
}
else{
System.out.println("Element is not present");
}
答案 1 :(得分:0)
要检查元素是否可见,请使用isDisplayed()方法,该方法返回布尔值(即)
List<WebElement> element=driver.findElements(By.cssSelector(".input-horizon.horizon-program-guide.form-control.ng-pristine.ng-untouched.ng-valid.ng-not-empty.ng-valid-min"));
System.out.Println(element.size());
if(element.isDisplayed()==true){
System.out.Println("element is present");
}
else
{
System.out.Println("element is not present");
}
答案 2 :(得分:0)
好吧,如果某个时间而不是所有时间都起作用,则可能是该元素需要一段时间才能在dom中可用,并且您的findElements
语句在可用之前就已执行!
Thread.sleep(3000)
。如果您使用的是qaf,则可以使用assertion/verification与驱动程序和元素对象一起使用,而无需使用任何上述解决方法。例如,在您的情况下,它可能看起来像:
$("css=csspath").verifyPresent(); // checks only presence in dom.
$("css=csspath").verifyVisible();// ensures present and displayed