我正在处理一些非常奇怪的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]等。有人能指出我正确的方向吗?
答案 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());