Selenium 中 find Element 和 find Elements 之间的区别
在 Selenium webdriver 中,findElement 和 findElements 方法之间存在差异。它们都可以用来定位网页上的元素。findElement 指向一个元素,而 findElements 方法返回一个匹配元素列表。
findElements 的返回类型是一个列表,但 findElement 的返回类型是一个 WebElement。如果没有匹配的元素,findElement 会抛出一个 NoSuchElementException,然而 findElements 方法会返回一个空列表。
findElements 方法的一个良好用法是计算图像总数或通过循环访问每个图像。
语法
WebElement i = driver.findElement(By.id("img-loc"));
List<WebElement> s =
driver.findElements(By.tagName("img"));代码实现
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 FindElementFindElementMthds{
public static void main(String[] args) {
System.setProperty("webdriver.chrome.driver", "C:\Users\ghs6kor\Desktop\Java \chromedriver.exe");
WebDriver driver = new ChromeDriver();
//implicit wait
driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
//URL launch
driver.get("https://tutorialspoint.com/upsc_ias_exams.htm");
//identify single element
WebElement elm = driver.findElement(By.tagName("h2"));
String s = elm.getText();
System.out.println("Get text on element: " + s);
//identify all elements with tagname
List<WebElement> i = driver.findElements(By.tagName("img"));
//count
int c = i.size();
System.out.println("Number of images: " + c);
//browser close
driver.close();
}
}输出

广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP