我有这个选择的月份和年份,我需要一个一个月,然后点击“查询”按钮,等待加载数据在页面上,拿起一些数据,然后转到下一个月,并继续重复这个过程,直到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");

发布于 2017-04-05 13:47:24
试着做这样的事情:
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
等。
https://stackoverflow.com/questions/43232471
复制相似问题