当我将listName.size()函数应用于 列表,显示为1。
实际上,计数不是1。
在我尝试过的东西下面-
- 尝试应用隐式和显式等待,以正确加载较长的Web元素列表。
- 尝试过wait.until(ExpectedConditions.visibilityOfElementLocated(listName));
java代码:
List<WebElement> listName= driver.findElements(By.xpath("xpath"));
int count = listName.size();
我希望计数精确为使用xpath找到的列表的数量元素。 注意:xpath有效且正确。可以使用该xpath手动定位元素。
答案 0 :(得分:0)
如果用例是打印匹配特定Locator Strategy的 List 的size()
而不是使用visibilityOfElementLocated()
,则需要使用以下两种解决方案之一:
visibilityOfAllElements(WebElement... elements)
:
System.out.println(new WebDriverWait(driver, 10).until(ExpectedConditions.visibilityOfAllElements(driver.findElements(By.xpath("xpath")))).size());
visibilityOfAllElementsLocatedBy(By locator)
:
System.out.println(new WebDriverWait(driver, 10).until(ExpectedConditions.visibilityOfAllElementsLocatedBy(By.xpath("xpath"))).size());