您可以在类中使用递归方法,例如下面给出的方法。
public class RecursivelinkTest { //list to save visited links static List<String> linkAlreadyVisited = new ArrayList<String>(); WebDriver driver; public RecursivelinkTest(WebDriver driver) { this.driver = driver; } public void linkTest() { // loop over all the a elements in the page for(WebElement link : driver.findElements(By.tagName("a")) { // Check if link is displayed and not previously visited if (link.isDisplayed() && !linkAlreadyVisited.contains(link.getText())) { // add link to list of links already visited linkAlreadyVisited.add(link.getText()); System.out.println(link.getText()); // click on the link. This opens a new page link.click(); // call recursivelinkTest on the new page new RecursivelinkTest(driver).linkTest(); } } driver.navigate().back(); } public static void main(String[] args) throws InterruptedException { WebDriver driver = new FirefoxDriver(); driver.get("http://newtours.demoaut.com/"); // start recursive linkText new RecursivelinkTest(driver).linkTest(); }}希望这对您有所帮助。



