Selenium 2 – Locators

Định vị các yếu tố trong Selenium WebDriver được thực hiện với sự giúp đỡ của findElement() và findElements(). Hai phương thức này được cung cấp bởi 2 lớp WebDriverWebElement.

  • findElement() trả về một đối tượng WebElement dựa trên tiêu chí tìm kiếm đã định hoặc kết thúc với việc ném một ngoại lệ nếu không tìm thấy bất kì yếu tố nào phù hợp với các tiêu chí tìm kiếm.
  • findElements() trả về một danh sách các WebElement phù hợp với tiêu chí tìm kiếm. Nếu không có yếu tố nào được tìm thấy, nó sẽ trả về một danh sách rỗng.

Bảng sau đây liệt kê tất cả các cú pháp Java để định vị các yếu tố trong Selenium WebDriver.

Phương thức Cú pháp Miêu tả
By ID driver.findElement(By.id(<element ID>)) Định vị một yếu tố sử dụng thuộc tính ID
By name driver.findElement(By.name(<element name>)) Định vị một yếu tố sử dụng thuộc tính Name
By class name driver.findElement(By.className(<element class>)) Định vị một yếu tố sử dụng thuộc tính Class
By tag name driver.findElement(By.tagName(<htmltagname>)) Định vị một yếu tố sử dụng HTML tag
By link text driver.findElement(By.linkText(<linktext>)) Định vị một link sử dụng text của link
By partial link text driver.findElement(By.partialLinkText(<linktext>)) Định vị một link sử dụng một phần text của link
By CSS driver.findElement(By.cssSelector(<css selector>)) Định vị một yếu tố sử CSS selector
By XPath driver.findElement(By.xpath(<xpath>)) Định vị một yếu tố sử dụng truy vấn XPath

 

Cách sử dụng bộ định vị

 
Chúng ta sẽ tìm hiểu cách sử dụng thực tế của mỗi phương thức định vị qua các ví dụ cụ thể với trang http://www.calculator.net.

By ID

 
Dưới đây là một đối tượng được truy cập với sự giúp đỡ của thuộc tính ID. Trong trường hợp này, nó là ID của một textbox. Các giá trị được nhập vào textbox bằng cách sử dụng phương thức sendkeys với sự giúp đỡ của ID.

su_dung_findElement_ByID

By Name

 
Dưới đây là một đối tượng được truy cập với sự giúp đỡ của thuộc tính Name. Trong trường hợp này, nó là ID của một textbox. Các giá trị được nhập vào textbox bằng cách sử dụng phương thức sendkeys với sự giúp đỡ của Name.

su_dung_findElement_ByName

By Class Name

 
Dưới đây là một đối tượng được truy cập với sự giúp đỡ của các Class Name. Trong trường hợp này, nó là Class Name của WebElement. Các giá trị có thể được truy cập với sự giúp đỡ của phương thức getText. Để sử dụng List bạn cần import java.util.List

su_dung_findElement_ByClassName

By Tag Name

 
DOM Tag Name của một phần tử có thể được sử dụng để xác định vị trí phần tử đặc biệt trong WebDriver. Nó rất dễ xử lý các table với sự giúp đỡ của phương thức này. Hãy xem đoạn mã sau.

By Link Text

 
Phương pháp này giúp xác định vị trí của một phần tử liên kết tương ứng với text của link đã định.

su_dung_findElement_ByLinkText

By partial Link Text

 
Phương pháp này giúp xác định vị trí của một phần tử liên kết tương ứng với một phần text của link đã định.

su_dung_findElement_ByPartialLinkText

By CSS

 
CSS được sử dụng như là một phương pháp để xác định đối tượng web. Tuy nhiên không phải tất cả các trình duyệt đều hỗ trợ nhận dạng CSS;

By xPath

 
XPath là từ viết tắt của XML Path language. Nó là một ngôn ngữ truy vấn để chọn các nút của một XML document. Xpath dựa trên một cây đại diện của XML document và cung cấp khả năng điều hướng xung quanh cây bằng cách chọn các nút dựa nhiều tiêu chí.

su_dung_findElement_ByXPath

Nguồn: tutorialspoint

Bình luận