Xin chào các bạn, trong quá trình viết script để chạy automation test case, sẽ đôi khi chúng ta muốn lấy tất cả đường links trong một trang web. Để làm được điều này một cách nhanh chóng và dễ dàng các bạn cùng theo dõi bài viết sau đây nhé.
1. Cách fetch các đường links trong một trang web
Nếu như bạn biết cơ bản về HTML, bạn phải biết thực tế là tất cả các siêu liên kết đều thuộc loại thẻ anchor hoặc ‘a’.
Để lấy ra tất cả đường links, chúng ta thực hiện theo các bước sau:
Lấy ra danh sách các WebElements mà có tagname ‘a’ bằng cách: driver.findElements()- List<WebElement> allLinks = driver.findElements(By.tagName(“a”));
Duyệt qua danh sách trên.
In ra console link text bằng cách sử dụng getText() cùng với giá trị url nằm trong thuộc tính href getAttribute(“href”) System.out.println(link.getText() + ” – ” + link.getAttribute(“href”));
public static void main(String[] args){
WebDriver driver = new FirefoxDriver();
//Launching sample website
driver.get("https://artoftesting.com/sampleSiteForSelenium");
driver.manage().window().maximize();
//Get list of web-elements with tagName - a
List allLinks = driver.findElements(By.tagName("a"));
//Traversing through the list and printing its text along with link address
for(WebElement link:allLinks){
System.out.println(link.getText() + " - " + link.getAttribute("href"));
}
//Commenting driver.quit() for user to easily verify the links
//driver.quit();
}