我有一个xpath表达式:
referenceIn3DPage=Driver.driver.findElement(By.xpath("//div[3][@class='some-class']/div[1]//label")).getAttribute("id");
我希望1
从9
循环到div[]
。
以下是我的代码div[i]
来自1 to 9
:
String referenceIn3DPage =null;
int count=Driver.driver.findElements(By.xpath("//div[3][@class='some-class']//input")).size();
System.out.println("the count="+count);
for(int i=1;i<=count;i++)
{
referenceIn3DPage=Driver.driver.findElement(By.xpath("//div[3][@class='some-class']/div["+i+"]//label/input")).getAttribute("id");
System.out.println("the value in 3d= "+referenceIn3DPage);
}
但是,它不能按照我的要求工作。我希望脚本显示OSP102和8个参考ID(请参阅下面给出的链接以获取参考ID列表。)
输出:
the count=9
the value in 3d= OSCP102
注意:为了更清晰,请参考我原来的问题。
How to grab text corresponding to checkboxes in selenium webdriver?
答案 0 :(得分:3)
您可以使用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);
}
答案 1 :(得分:1)