如何在以下场景中使用selenium webdriver获取WebElements的数量:

时间:2018-05-29 19:03:12

标签: selenium-webdriver xpath

我正在处理一些非常奇怪的html自定义代码,我正在尝试获取动态列表中存在的元素数。此列表不是表格格式,而是经常更新。这是我需要计算的元素的xpath:

leaf-data-object-list[@id='objectList']/iron-list[@id='dataObjectList']/div[@id='items']/leaf-data-object-list-row[1]
leaf-data-object-list[@id='objectList']/iron-list[@id='dataObjectList']/div[@id='items']/leaf-data-object-list-row[2]

同样,列表中有更多项目[3],[4]等。有人能指出我正确的方向吗?

2 个答案:

答案 0 :(得分:0)

在Selenium中你有FindElements()方法返回List。 在你的情况下将像

   child  parent
1   2010    1000
7   2100    1000
5   2110    1000
3   3000    2110
2   3011    2010
4   3033    2100
0   3102    2010
6   3111    2110

并且该集合与其他所有行为一样

答案 1 :(得分:-1)

根据您的代码试验获取动态列表中存在的元素数量,您可以将 WebDriverWait ExpectedConditions 一起诱导为{{3如下:

List<WebElement> myDynamicList = new WebDriverWait(driver, 20).until(ExpectedConditions.visibilityOfAllElementsLocatedBy(By.xpath("//leaf-data-object-list[@id='objectList']/iron-list[@id='dataObjectList']/div[@id='items']/leaf-data-object-list-row")));
System.out.println("Number of elements are : " + myDynamicList.size());