8

liのすべての要素をループすることは可能ですか<ul> </ul>li不明な数の要素があるとしましょう。それらをループする 1 つの方法forは、可能な最大数のlis、たとえば 100 でループを課し、課すことtry and catchです。

try{
for (int i=0; i<100; i++) {
 driver.findElement(By.xpath("//div[@id='...']/ul/li[i]"));
}
}
catch {...}

iしかし、それはインデックスを認識しませんか?どうすれば認識させることができますか?

もっと良い方法はありますか?

4

4 に答える 4

29

WebdriverにはfindElements、この目的に使用できるAPIがあります..

List<WebElement> allElements = driver.findElements(By.xpath("//div[@id='...']/ul/li")); 

for (WebElement element: allElements) {
      System.out.println(element.getText());
}
于 2013-04-22T18:47:46.870 に答える
0
List<WebElement> allElements = driver.findElements(By.xpath("//div[@id='...']/ul/li"));
int s=allElements.size();
for(int i=1;i<=s;i++){
    allElements = driver.findElements(By.xpath("//div[@id='...']/ul/li"));
    allElements.get(i).click();
}

これを使って

于 2016-11-10T10:22:35.420 に答える