【发布时间】:2017-04-05 13:20:17
【问题描述】:
我有这个带有月份和年份的选择,我需要逐个搜索2016年的每个月并单击“查询”按钮等待加载页面上的数据并获取一些数据,然后继续下个月并不断重复这个过程,直到2016年底。
我曾考虑使用list 和arraylist 来执行此操作,但我会遇到性能问题。
在这种情况下你有什么建议,Iterator <WebElement>?
如何一一选择2016年的月份和年份?
List<WebElement> meses = driver.findElements(By.id("sel_Mes"));
Iterator<WebElement> itr = meses.iterator();
while(itr.hasNext()) {
System.out.println(itr.next().getAttribute("value"));
}
或
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");
【问题讨论】:
-
嗯,它有效吗?第一个解决方案看起来不错(通用且简洁)。试试吧!
-
@Tim 是的,但由于我是编程学徒,我无法开发逻辑部分以使其有效地密封 2016 年 1 月和 2016 年的月份,我该怎么做,之后怎么做我会继续选择其他月份直到 12 月到达吗?
-
哦,我明白了。您将需要一个嵌套循环:循环中的循环。外循环可以循环多年,内循环可以循环数月。因此,如果您的第一个示例有效,那么多年来也一样,并为选择获取一个迭代器。
-
@Tim 您介意发布一个示例来说明此代码的外观吗?
-
我已经发布了一个答案(未经测试!)。希望这会有所帮助
标签: java loops selenium selenium-webdriver