1. Phương thức getText() trong Selenium
Phương thức này giúp truy xuất văn bản bên trong WebElement, nó trả về 1 chuỗi có loại bỏ khoảng trắng trước hoặc sau của chuỗi nếu có.
Phương pháp này cho phép dễ dàng truy cập vào InnerText mà không bị ảnh hưởng bởi các kiểu CSS. Không giống như các kỹ thuật thay thế, getText() chỉ ghi lại nội dung mà người dùng có thể nhìn thấy trên các trang web, đóng vai trò là chức năng quan trọng cho trích xuất dữ liệu.
Cú pháp của phương thức này ở các ngôn ngữ lập trình khác nhau sẽ khác nhau. Dưới đây là sự khác nhau trong Java và Python:
getText() trong Java:
// Locating the web element
WebElement element = driver.findElement(By.id("element_id"));
// Using getText() method in Java to retrieve the text of selected element
System.out.println(element.getText());
getText() trong Python:
// Locating the web element
element = driver.find_element_by_id("element_id");
// Using text method in Python to retrieve the text of selected element
print(element.text);
2. Sử dụng getText() để lấy chuỗi trong dropdown
Có nhiều trường hợp khi chúng ta cần chọn một giá trị văn bản trong danh sách dropdown, tương tự chúng ta cũng có thể sử dụng phương thức getText() để xử lý các tình huống như vậy.
Hãy tham khảo ví dụ dưới đây:
Đầu tiên chúng ta mở demo website, sử dụng Selenium findElements() method để xác định vị trí div cha có ID = “entry281_216475”. Sau đó tìm đến tất cả thẻ h3 trong thẻ div này, lặp từng thẻ h3 trích xuất và lấy giá trị chuỗi bằng getText().
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
public class PrintH3TagsExample {
public static void main(String[] args) {
// Create a new instance of the ChromeDriver
WebDriver driver = new ChromeDriver();
try {
// Open the URL
driver.get("https://ecommerce-playground.lambdatest.io/");
// Find the parent div with ID "entry281_216475"
WebElement parentDiv = driver.findElement(By.id("entry281_216475"));
// Find all H3 tags inside the parent div
java.util.List<WebElement> h3Tags = parentDiv.findElements(By.tagName("h3"));
// Print the text of each H3 tag
for (WebElement h3Tag : h3Tags) {
System.out.println("H3 Tag Text: " + h3Tag.getText());
}
} finally {
// Close the WebDriver
driver.quit();
}
}
}