Java 如何循环使用xpath表达式?
我有一个xpath表达式:Java 如何循环使用xpath表达式?,java,selenium,xpath,Java,Selenium,Xpath,我有一个xpath表达式: referenceIn3DPage=Driver.driver.findElement(By.xpath("//div[3][@class='some-class']/div[1]//label")).getAttribute("id"); 我想为div[]从1循环到9 下面是我将div[i]从1循环到9的代码: 注:为了更清楚,请参考我的原始问题 您可以通过使用findElements和循环xpath将获取的前9个div元素来简化代码。只需确保xpath是正确的
referenceIn3DPage=Driver.driver.findElement(By.xpath("//div[3][@class='some-class']/div[1]//label")).getAttribute("id");
我想为div[]从1循环到9
下面是我将div[i]从1循环到9的代码:
注:为了更清楚,请参考我的原始问题
您可以通过使用findElements和循环xpath将获取的前9个div元素来简化代码。只需确保xpath是正确的
referenceIn3DPage=Driver.driver.findElements(By.xpath("//div[3][@class='some-class']/div"));
for(WebElement e : referenceIn3DPage.sublist(0,9)) {
String idVal = e.findElement(By.ByTagName("label").getAttribute("id"));
System.out.println(idVal);
}
首先检查网站上的xpath,确保它选择了预期的结果。我推荐你+他们在这方面做得很好。它不像在。。。什么有例外吗?你没有结果吗?你得到了错误的结果?你得到了什么结果?你得到了什么错误?我觉得你的循环很好。@HelpingHands用输出更新了问题。计数=9,那一行是从哪里来的?您发布的代码似乎不完整。它似乎也没有解决这个问题。请发布更多代码。@Jandorenhaus用脚本更新了问题并链接到原始问题。
the count=9
the value in 3d= OSCP102
referenceIn3DPage=Driver.driver.findElements(By.xpath("//div[3][@class='some-class']/div"));
for(WebElement e : referenceIn3DPage.sublist(0,9)) {
String idVal = e.findElement(By.ByTagName("label").getAttribute("id"));
System.out.println(idVal);
}