【发布时间】:2014-11-13 17:50:07
【问题描述】:
我必须为表的动态 ID 获取 XPATH。我正在尝试使用 findElements 将所有具有“sometext”的表 id 放入列表中。
问题是它们具有相似的模式,除了 id 属性中的数字不同
<tr>
<td>
<a id="text-132" </a>
</td>
<a id="text-125" </a>
</td>
<td>
<a id="test-122"</a>
</td>
我编写了以下代码,它没有显示任何定位 xpath 的错误,但它什么也不打印,列表大小为 0
List<WebElement> my_list = driver.findElements(By.xpath("//*[starts-with(@id, 'text')]"));
System.out.println("Size: " + my_list.size());
for (int i=0; i<my_list.size(); i++) {
System.out.println(my_list.get(i).getText());
}
【问题讨论】:
-
以上工作正常。我只需要添加一个隐式等待驱动程序找到所有表 ID。添加此行解决了它。 driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);