检索 html表WebElement列表时,例如以下内容(例如,通过标记):
webDriver.findElement(By.id("mainTable"))
.findElements(By.tag("tr"))
退货清单是否有保证订单?我可以安全地假设element [i]在表行顺序中位于元素[i + 1]之前吗?
我看了official docs,然后用Google搜索,但没有运气。
答案 0 :(得分:1)
是的,返回列表有保证的顺序,您可以放心地假设元素[i]在表行顺序中位于元素[i + 1]之前。
您可以使用不同的参数引用RemoteWebDriver和By类中的findElements()方法的实现。你需要的是findElements方法的下面代码,它接受两个字符串作为参数。
var user = "{{user}}";
请注意,该方法使用ImmutableMap返回找到的网络元素并将其添加到列表中。
基于散列的不可变Map,具有可靠的用户指定迭代 顺序。
因为,ImmutableMap保留了迭代顺序,所以你可以放心地假设通过findElements方法返回WebElement列表。
答案 1 :(得分:0)
我认为我没有在任何地方看到它,但根据我的经验: - findElement返回与定位器定义匹配的第一个元素(first =在DOM中) - findElements返回与定位器定义匹配的所有元素(按DOM排序)