簡體   English   中英

如何識別硒中是否顯示數據

[英]how to identify data is displaying or not in selenium

條件:如何顯示數據

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;

這段代碼有時會起作用,有時卻沒有任何有效的解決方案,而evrytime

它檢查頁面上是否存在該元素。 要檢查元素的可見性,應使用“ 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");
}

要檢查元素是否可見,請使用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");
 }

好吧,如果它在某個時間而不是所有時間都起作用,則可能是該元素需要一段時間才能在dom中可用,並且您的findElements語句在可用之前findElements執行!

  • 快速而骯臟的解決方法是,添加睡眠,例如Thread.sleep(3000)
  • 另一個解決方法是,您可以在try catch塊中設置waitForElementpresent條件,並且可以在catch塊中將標志設置為false!

如果您使用的是qaf ,則可以使用驅動程序和元素對象可用的聲明/驗證 ,而無需使用上述任何變通方法。 例如,在您的情況下,它可能類似於:

$("css=csspath").verifyPresent(); // checks only presence in dom. 
$("css=csspath").verifyVisible();// ensures present and displayed

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM