首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >月与年之间的迭代。硒+ Java

月与年之间的迭代。硒+ Java
EN

Stack Overflow用户
提问于 2017-04-05 13:20:17
回答 1查看 195关注 0票数 1

我有这个选择的月份和年份,我需要一个一个月,然后点击“查询”按钮,等待加载数据在页面上,拿起一些数据,然后转到下一个月,并继续重复这个过程,直到2016年年底。

我考虑过使用listarraylist来完成这个任务,但是我会出现性能问题。

你在这个例子中的建议是,一个Iterator <WebElement>

如何逐个选择2016年的月份和年份?

代码语言:javascript
复制
List<WebElement> meses = driver.findElements(By.id("sel_Mes"));

        Iterator<WebElement> itr = meses.iterator();
        while(itr.hasNext()) {
            System.out.println(itr.next().getAttribute("value"));

        }

代码语言:javascript
复制
List<String> mes = new ArrayList<String>();
        mes.add("Janeiro");
        mes.add("Fevereiro");
        mes.add("Março");
        mes.add("Abril");
        mes.add("Maio");
        mes.add("Junho");
        mes.add("Julho");
        mes.add("Agosto");
        mes.add("Setembro");
        mes.add("Outubro");
        mes.add("Novembro");
        mes.add("Dezembro");

        List<String> ano = new ArrayList<String>();
        ano.add("2016");

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-04-05 13:47:24

试着做这样的事情:

代码语言:javascript
复制
WebElement selectElementMes = driver.findElement(By.id("sel_Mes");
Select select_mes = new Select(selectElementMes);
List<WebElement> allMes = select_mes .getOptions();

WebElement selectElementAnos = driver.findElement(By.id("sel_Ano");
Select select_anos = new Select(selectElementAnos);
List<WebElement> allAnos = select_anos .getOptions();


Iterator<WebElement> itr_meses = allMes.iterator();
Iterator<WebElement> itr_ano = allAnos.iterator();

while(itr_ano.hasNext()) {
    while(itr_meses.hasNext()) {
        System.out.println(itr_ano.next().getAttribute("value") + " -> " + itr_meses.next().getAttribute("value"));
    }
}

这应该打印如下的内容:

2016年->里约热内卢

2016年-> Fevereiro

等。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43232471

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档