繁体   English   中英

如何在 selenium Webdriver 中处理分页

[英]How to handle pagination in selenium Webdriver

这是我运行时的代码,它转到第二页并停止它,而不是循环所有页面并搜索所需的元素。 它应该在页面中查找特定文本并单击它的链接。

    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");
    } 
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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