我想在下面的html中找到lis项目(li)的数量:
<div class="li-control-block">
<div class="inner">
<a class="scroll-left" href="?slideId=7">
<img width="59" height="30" alt="btn-hero-promo-slider-left" src="/c/images/btn-hero-promo-slider-left.png">
</a>
<ul class="slides-8">
<li class="first">
<a href="#">1</a>
</li>
<li class="">
<a href="#">2</a>
</li>
<li class="">
<a href="#">3</a>
</li>
<li class="">
<a href="#">4</a>
</li>
<li class="">
<a href="#">5</a>
</li>
<li class="">
<a href="#">6</a>
</li>
<li class="">
<a href="#">7</a>
</li>
<li class="last on">
</ul>
<a class="scroll-right" href="?slideId=1">
</div>
</div>
我已尝试过下面的代码但是回复了“12345678”,这给了我1的大小。
那么如何才能让大小等于8?
List<WebElement> list=null;
list = driver.findElements(By.cssSelector(".slides-8"));
int length = list.size();
答案 0 :(得分:0)
您的示例按预期工作;您的代码请求具有“slides-8”类的元素数,这是列表容器。然后你要问有多少元素,它就是一个 - 只有一个容器。
将CSS类应用于每个列表元素,或者向容器请求其元素的计数。
答案 1 :(得分:0)
尝试
WebElement temp = driver.findElement(By.classname("slides-8"));
List<WebElement> list = temp.findElement(By.xpath(".//li"));
System.out.println(list.size());
答案 2 :(得分:0)
您也可以尝试使用cssSelectors
,
List<WebElement> list = driver.findElements(By.cssSelector(".slides-8 > li"));
int length = list.size();