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.tw/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