SF

""

So sánh findElement() với findElements()

 So sánh findElement() với findElements()



Trong Selenium Webdriver có 2 phương thức để tìm webelements, đó là findElement() với findElements(). Trong bài này, chúng ta sẽ tìm hiểu sự khác nhau giữa 2 phương thức và cách sử dụng chúng cho hiệu quả.


#

findElement

findElements

Định nghĩa

findElement() được dùng để tìm một webelement trên  webpage đúng với locator

findElements() được dùng để tìm một List các webelements đúng với locator

Cú pháp

WebElement element = driver.findElement(By locator);

List<WebElement> elements = driver.findElements(By locator);

Multiple matches

Trong trường hợp nhiều elements có cùng locator thì findElement sẽ trả về element đầu tiên tìm được

 

Trong trường hợp tìm được nhiều element có cùng locator thì findElements sẽ trả về một list các elements. Để tương tác thì chúng ta phải thông qua index. Ví dụ: elements.get(0).click(); => click vào element đầu tiên trong list element vừa tìm được

 

Không có element nào được tìm thấy

 findElement() throw exception NoSuchElementException

findElements() sẽ có list với size là 0 được trả về thay vì exception.



Các bạn nhớ note điều này, trong trường hợp không có element nào được tìm thấy thì findElements() trả về list với size là 0, và điều này thường được dùng để check việc tồn tại của một element. Chúng ta chỉ đơn giản kiểm tra xem size của list trả về của phương thức findElements() và nếu size của list lơn hơn 0, chúng ta có thể tương tác với element đầu tiên bằng cách dùng index 0