Selenium 中的查找元素和 FindElements

seleniumautomation testingtesting tools更新于 2026/1/24 5:22:17

findElement 和 findElements 方法用于识别网页上的元素。这两个方法都可以与定位器一起使用,例如 id、css、class、name、xpath、css、链接文本、标签名和部分链接文本。

findElement 方法用于识别与作为参数传递给该方法的定位器(用于 By 对象)匹配的元素。如果没有匹配的元素,则抛出 NoSuchElementException。

findElements 方法用于识别与作为参数传递给该方法的定位器(用于 By 对象)匹配的元素列表。如果没有匹配的元素,则返回一个空列表。

findElement 方法返回一个 Web 元素,而 findElements 方法返回一个列表。如果有多个元素与定位器匹配,则 findElement 方法将仅返回第一个匹配的元素(从页面左上角开始)。

语法

List<WebElement> e = driver.findElements(By.className("txt"));
WebElement elm = driver.findElement(By.className("txt"));

示例

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 ElementLocator{
   public static void main(String[] args) {
      System.setProperty("webdriver.chrome.driver",
         "C:\Users\ghs6kor\Desktop\Java\chromedriver.exe");
      WebDriver driver = new ChromeDriver();
      //隐式等待
      driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
      //URL 启动
      driver.get("https://www.tutorialspoint.com/index.htm");
      //使用 findElements 识别所有链接
      List m = driver.findElements(By.tagName("a"));
      //链接计数
      int st = m.size();
      System.out.println("链接数量: " + s);
      //识别链接
      WebElement n = driver.
      findElement(By.xpath("//a[@title='Job @ Tutorials Point']"));
      //获取链接文本
      String s= n.getText();
      System.out.println("Text is : " + s);
      driver.quit();
   }
}

输出


相关文章