Hi,
This is sample code for u r question.
import java.util.List;
import
org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.testng.annotations.AfterTest;
import org.testng.annotations.BeforeTest;
import org.testng.annotations.Test;
public class FindLinksandCheckforBrokenLinks {
WebDriver driver;
@BeforeTest
public void open()
{
driver=new FirefoxDriver();
driver.manage().window().maximize();
driver.navigate().to("
http://www.google.co.in/");// Use navigate instead of driver.get()
}
@AfterTest
public void teardown()
{
driver.quit();
}
@Test
public void brokenlinks() throws InterruptedException
{
WebElement footer= driver.findElement(By.xpath("//div[@id='footer']")); // Get Footer element which contains all footer links
List<WebElement> elements=footer.findElements(By.tagName("a"));
int size=elements.size();
System.out.println("Total links are: "+size);
for(int j = 0;j<size;j++){ //create loop based upon number of links to traverse all links
footer= driver.findElement(By.xpath("//div[@id='footer']")); // We are re-creating "footer" webelement as DOM changes after navigate.back()
footer.findElements(By.tagName("a")).get(j).getText();
footer.findElements(By.tagName("a")).get(j).click();
Thread.sleep(3000);
System.out.println(driver.getTitle());
if(driver.getTitle().contains("404")) {
System.out.println("404 Found");
}
driver.navigate().back();
Thread.sleep(3000);
}
}
}
Thanks,
Raju