我想在for循环中使用xpath

时间:2016-04-28 19:00:24

标签: java xml xpath

我希望在一些时间间隔之后单击一些链接,并且它们的xpath只会改变一个元素。

示例我有8个元素的这些xpath

  .//*[@id='nav']/li[2]/ul/li/div[2]/ul/li[1]/a
  .//*[@id='nav']/li[2]/ul/li/div[2]/ul/li[2]/a
  .//*[@id='nav']/li[2]/ul/li/div[2]/ul/li[3]/a
  .//*[@id='nav']/li[2]/ul/li/div[2]/ul/li[4]/a
  .//*[@id='nav']/li[2]/ul/li/div[2]/ul/li[5]/a
  .//*[@id='nav']/li[2]/ul/li/div[2]/ul/li[6]/a
  .//*[@id='nav']/li[2]/ul/li/div[2]/ul/li[7]/a
  .//*[@id='nav']/li[2]/ul/li/div[2]/ul/li[8]/a

这里只有li [n]元素正在改变,所以我尝试了下面的代码

for(int i=1;i<=8;i++)
{
    System.out.println(i);
    driver.findElement(By.xpath(
      ".//[@id='nav']/li[2]/ul/li/div[2]/ul/li["+i+"]/a"
    )).click();
}

但是这段代码不起作用。如果我错过了一些信息,请告诉我。

1 个答案:

答案 0 :(得分:0)

小错字:

".//[@i...

应该是

".//*[@i...