用 Selenium WebDriver 測試元素是否存在?


我們可以使用 Selenium 驗證元素是否存在。這可以透過 findElements() 方法來確定。它返回與我們傳入該方法作為引數的位置匹配的元素列表。

如果沒有任何匹配的元素,將返回一個空列表 [大小 = 0]。我們不使用 findElement() 方法,因為如果沒有匹配的元素,此方法會提供NoSuchElementException。

對於任何異常,我們必須使用 try catch 塊來處理它。

示例

程式碼實現。

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import java.util.concurrent.TimeUnit;
import java.util.List;
public class ElementPresence{
   public static void main(String[] args) {
      System.setProperty("webdriver.chrome.driver", "C:\Users\ghs6kor\Desktop\Java\chromedriver.exe");
      WebDriver driver = new ChromeDriver();
      String url = "https://tutorialspoint.tw/about/about_careers.htm";
      driver.get(url);
      driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
      // identify element
      List<WebElement> l=driver.findElements(By.xpath("//*[text()='Terms of Use']"));
      if(l.size()== 0){
         // empty list if no matching element
         System.out.println("Element not present, appearing "+l.size()+ " time");
      } else {
         System.out.println("Element present, appearing "+l.size()+ " time");
      }
      driver.quit()
   }
}

輸出

如果元素不存在,則輸出為 -

更新日期: 28-Aug-2020

4K+ 瀏覽量

開啟你的 職業生涯

透過完成課程獲取認證

開始使用
廣告