首页 > 解决方案 > 如何在存在多个列表的页面上获取每个无序 HTML 列表中的元素计数?

问题描述

我可以计算单个元素的数量,尤其是在我试图抓取<li>的网页上。

但我希望它计算页面上<li>每个元素的数量<ul>

这就是我试图<li>在一个页面上计算的所有内容,一个简单的

list = driver.find_elements_by_tag_name("li")
print(len(list))

我有一个页面,上面有很多类似下面的列表,完全相同的类名,除了<li>标签内的文本外,其他所有内容都相同。

<ul class="tags">
  <li class="tag"><a rel="tag" class="term" href="/site1">Flight</a></li>
  <li class="tag"><a rel="tag" class="term" href="/site2">Action</a></li>
  <li class="tag"><a rel="tag" class="term" href="/site3">Gravity</a></li> 
</ul>

我想计算页面上每个标签内的元素数量。

标签: pythonseleniumweb-scraping

解决方案


试试下面的代码。它会先找到所有<ul>标签,然后找到链接的<li>标签

 elements=driver.find_elements_by_tag_name('ul')
    #print(len(elements))
    for ele in elements:
        print(len(ele.find_elements_by_xpath("./li")))

输出:

2
3
4

推荐阅读