验证一个元素是否存在或可见于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://www.tutorialspoint.com/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();
//隐式等待
driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
//URL打开
driver.get("https://www.tutorialspoint.com/about/about_careers.htm");
//检查元素是否存在
int t = driver.findElements(By.partialLinkText("Refund")).size();
if (t > 0) {
System.out.println("元素存在");
}else {
System.out.println("元素不存在");
}
driver.quit();
}
}