如何使用for循环来改变ul&李两个?

时间:2015-05-31 11:42:53

标签: selenium xpath selenium-webdriver

可能已经有问题,但我无法找到它。 以下是我正在使用的代码:

List<WebElement> allElementswithLetter = Driver.driver.findElements(By.xpath("//div[contains(@class,'page-bg clearfix search-locality')]/ul[i]/li"));

这里 ul 在for循环的每次迭代中都有所不同,但是我的脚本无法识别它。

如何解决这个问题?

2 个答案:

答案 0 :(得分:3)

然后执行如下的嵌套循环。首先找到ul,然后在li

下找到ul
List<WebElement> uls = driver.findElements(By.xpath("//div[contains(@class,'page-bg clearfix search-locality')]/ul[" + i + "]"));
for (WebElement element: uls){
   List<WebElement> lis = element.findElements(By.xpath("//li"));
   for (int j=0;j<lis.size();j++){
      //do some operation
   }
}

答案 1 :(得分:3)

xpath的这一部分&#34; ul[i]&#34;将尝试查找具有子元素<ul>的{​​{1}}元素。相反,我相信您希望将名为<i>的变量的值连接到您的xpath中。

您可以尝试通过字符串连接来实现后者,如下所示:

i