我想跳过GoTop类div并继续计算父类中div的数量。
<div class="parent">
<div>
<div>
<div>
<div>
<div>
<div class="GoTop">
<div>
some more div's ......
</div>
我已经尝试了以下但我得到的是尺寸为5,请帮助
size = driver.findElements(By.xpath("//div[@class='parent']/div [not(contains(@class,'GoTop'))]")).size();
答案 0 :(得分:0)
您尝试过的代码看起来是正确的,我认为您应该尝试使用WebDriverWait
等待divs元素与尝试的定位器一起出现。
我建议您尝试使用By.cssSelector()
来实现与以下相同: -
WebDriverWait wait = WebDriverWait(driver, 10);
int size = wait.until(ExpectedConditions.presenceOfAllElementsLocatedBy(By.cssSelector("div.parent > div:not(.GoTop)"))).size();
已修改: - 如果您仍然获得的元素少于总数,则可以尝试使用ExpectedCinditions.numberOfElementsToBeMoreThan
,这将等到找到的元素总数等于或大于给定的数字如下: -
WebDriverWait wait = WebDriverWait(driver, 10);
int size = wait.until(ExpectedConditions.numberOfElementsToBeMoreThan(By.cssSelector("div.parent > div:not(.GoTop)"), 6)).size();