Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用Selenium将项目添加到HashMap进行分页导航_Java_List_Selenium_Selenium Webdriver_Pagination - Fatal编程技术网

Java 使用Selenium将项目添加到HashMap进行分页导航

Java 使用Selenium将项目添加到HashMap进行分页导航,java,list,selenium,selenium-webdriver,pagination,Java,List,Selenium,Selenium Webdriver,Pagination,我在结果页面上有一个WebElements列表,需要提取并添加到HashMap中 网页上有这样的分页:1,2,3,4,5,Next。这些都是链接,当单击“下一步”时,它将导航到第2页并在分页上显示6,同时删除1,依此类推 List<WebElement> pagination = driver.findElements(By.xpath("//div[@class='pagination-container']//a")); int s = paginatio

我在结果页面上有一个WebElements列表,需要提取并添加到HashMap中

网页上有这样的分页:1,2,3,4,5,Next。这些都是链接,当单击“下一步”时,它将导航到第2页并在分页上显示6,同时删除1,依此类推

    List<WebElement> pagination = driver.findElements(By.xpath("//div[@class='pagination-container']//a"));
        int s = pagination.size();
        for(int i=0;i<=s;i++){
            this.getAuthors();
                driver.get(Constants.url);
                Thread.sleep(5000);

            pagination = driver.findElements(By.xpath("//div[@class='pagination-container']//a"));
            pagination.get(i).click();
            Thread.sleep(5000);
        }
List pagination=driver.findElements(By.xpath(“//div[@class='pagination-container']//a”);
int s=pagination.size();

对于(inti=0;i您可以这样做,假设链接是您需要的
html元素

1创建Web元素列表,例如
元素
driver.findElements(按.tagName(“a”))

2迭代从上一步检索的列表,并检查需要单击的特定链接的一些元信息,例如title
elements.get(i).getAttribute(“title”);

3比较标题是否是您需要的
if(title.equals(“下一页”){

3发送点击信号

下面是一段代码片段

new WebDriverWait(
            driver, TIME_TO_WAIT).until(
                    ExpectedConditions.presenceOfElementLocated(
                            By.tagName("a")));
List<WebElement> elements = driver.findElements(By.tagName("a"));
for (int i = 0; i < elements.size(); i++) {
    String title = elements.get(i).getAttribute("title");
    if (title.equals("Next Page")) {
        elements.get(i).click();
        break;
    }
}
newwebdriverwait(
司机,时间到了。等一下(
预期条件。元素的存在(
按.tagName(“a”);
列表元素=driver.findElements(按.tagName(“a”));
对于(int i=0;i
为什么不设置一个while循环,只需单击“下一步”按钮?在每个循环中,对每个页面进行所有处理。要中断循环,请检查是否显示了“下一步”按钮。