Counting Total Number of Hyperlinks in a Page
Use findElements() with By.tagName("a") to get all anchor elements, then use .size() for the count.
Basic count:
Java
List<WebElement> allLinks = driver.findElements(By.tagName("a"));
System.out.println("Total number of hyperlinks: " + allLinks.size());
Full test example:
Java
@Test
public void countHyperlinks() {
driver.get("https://example.com");
List<WebElement> allLinks = driver.findElements(By.tagName("a"));
int totalLinks = allLinks.size();
System.out.println("Total hyperlinks on page: " + totalLinks);
Assert.assertTrue(totalLinks > 0, "Page should have at least one link");
}
Count links with valid href:
Java
@Test
public void countValidLinks() {
driver.get("https://example.com");
List<WebElement> allLinks = driver.findElements(By.tagName("a"));
int validLinkCount = 0;
int emptyHrefCount = 0;
for (WebElement link : allLinks) {
String href = link.getAttribute("href");
if (href != null && !href.isEmpty() && !href.equals("#")) {
validLinkCount++;
} else {
emptyHrefCount++;
}
}
System.out.println("Valid links: " + validLinkCount);
System.out.println("Empty/anchor links: " + emptyHrefCount);
System.out.println("Total: " + allLinks.size());
}
Print all link URLs:
Java
List<WebElement> links = driver.findElements(By.tagName("a"));
System.out.println("Total links: " + links.size());
for (int i = 0; i < links.size(); i++) {
System.out.println((i+1) + ". " + links.get(i).getAttribute("href")
+ " — Text: " + links.get(i).getText());
}
Count links by category:
Java
List<WebElement> allLinks = driver.findElements(By.tagName("a"));
long externalLinks = allLinks.stream()
.filter(a -> {
String href = a.getAttribute("href");
return href != null && href.startsWith("http") && !href.contains("example.com");
})
.count();
System.out.println("External links: " + externalLinks);
System.out.println("Total links: " + allLinks.size());
Key code:
Java
List<WebElement> allLinks = driver.findElements(By.tagName("a"));
System.out.println(allLinks.size());
