简体   繁体   中英

How to handle pagination in selenium Webdriver

This is my code when I run it goes to the 2nd page and stop it not looping all pages and search the required element. It should look for particular text in a page and click on the link of it.

    if (driver.getTitle().contains("Article properties")) {
        WebElement assigninitial = driver.findElement(By.partialLinkText("Assign reviewer for initial review"));
        assigninitial.click();
    } else {
        //pagination code
        //driver.findElement(By.xpath("/html/body/app/main/app-mytasks/div[1]/section/div/pagination/ul/li[3]/a")).click();
        @SuppressWarnings("unchecked")
        ArrayList<WebElement> pagination = (ArrayList<WebElement>) driver.findElements(By.xpath("/html/body/app/main/app-mytasks/div[1]/section/div/pagination/ul/li[5]/a"));
        // checkif pagination link exists 

        if ((pagination).size() > 0) {
            //System.out.print("pagination exists"); 

            // click on pagination link 

            for (int i = 0; i < pagination.size(); i++) {
                pagination.get(i).click();
                if (driver.getPageSource().contains("Article properties")) {
                    WebElement assigninitial = driver.findElement(By.partialLinkText("Assign reviewer for initial review"));
                    assigninitial.click();
                }
            }
        } else {
            System.out.print("pagination not exists");
        }
    }
public void pagination_check() throws InterruptedException {
    loader_wait(5);    //wait until 'loader'  loading
    List<WebElement> pagination = driver.findElements(By.xpath("//page-navigation/div/div/span/a")); 
    Thread.sleep(5000);
    if (pagination.size() > 0) { 
        System.out.println("pagination exists and size=>"+pagination.size()); 
        int page_no=pagination.size();
        for (int i = 2; i <= pagination.size(); i++) {      
            JavascriptExecutor js = (JavascriptExecutor) driver; 
            js.executeScript("arguments[0].scrollIntoView();", driver.findElement(By.xpath("//page-navigation/div/div/span")));    //for 
 scroller move
            js.executeScript("arguments[0].click();", driver.findElement(By.xpath("//page-navigation/div/div/span/a["+i+"]")));
            loader_wait(5);      //wait 
        } 
    } else { 
        System.out.println("no pagination");
    } 
}

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM