Java 如何循环使用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是正确的

我有一个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);
}