驗證 Selenium Webdriver 中元素是否存在或可見
我們可以使用Selenium webdriver來驗證頁面中元素是否存在或可見。要檢查元素的存在,可以使用方法 – findElements。
findElements 方法返回匹配元素的列表。然後,我們必須使用方法 size 獲取列表中專案的數量。如果大小為 0,則表示此元素不存在於頁面中。
語法
int j = driver.findElements(By.id("txt")).size();
要檢查頁面中元素的可見性,可以使用方法 isDisplayed()。它返回一個布林值(如果元素可見,則返回 true,否則返回 false)。
語法
boolean t = driver.findElement(By.name("txt-val")).isDisplayed();
示例
元素可見性程式碼實現。
import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.firefox.FirefoxDriver; import java.util.concurrent.TimeUnit; public class ElementVisible{ public static void main(String[] args) { System.setProperty("webdriver.gecko.driver", "C:\Users\ghs6kor\Desktop\Java\geckodriver.exe"); WebDriver driver = new FirefoxDriver(); //implicit wait driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS); //URL launch driver.get("https://tutorialspoint.tw/about/about_careers.htm"); // identify element with partial link text WebElement n =driver.findElement(By.partialLinkText("Refund")); //check if element visible boolean t = driver.findElement(By.partialLinkText("Refund")).isDisplayed(); if (t) { System.out.println("Element is dispalyed"); } else { System.out.println("Element is not dispalyed"); } driver.quit(); } }
輸出
示例
元素存在性程式碼實現。
import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.firefox.FirefoxDriver; import java.util.concurrent.TimeUnit; public class ElementPresence{ public static void main(String[] args) { System.setProperty("webdriver.gecko.driver", "C:\Users\ghs6kor\Desktop\Java\geckodriver.exe"); WebDriver driver = new FirefoxDriver(); //implicit wait driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS); //URL launch driver.get("https://tutorialspoint.tw/about/about_careers.htm"); //check if element present int t = driver.findElements(By.partialLinkText("Refund")).size(); if (t > 0) { System.out.println("Element is present"); }else { System.out.println("Element is not present"); } driver.quit(); } }
輸出
廣告