如何获取多个单独div下的嵌套div总数?

How to get total numbers of nested divs under multiple individual divs?

这里如何得到class="row ehi-pd"每个div下的div总数=class="panel-content"? 如图所示。

它应该分别给出每个 class = "panel-content" 部分的输出,而不是将它们全部合并。

例如:

第一个 "panel-content" : 6

第二个 "panel-content" : 5

第三个 "panel-content" : 3

使用find_elements_by_xpath并计算长度。

totalcount= len(driver.find_elements_by_xpath("//div[@class='panel-content']/div[@class='row ehi-pd']"))
print(totalcount)

@kajal 解决方案很好,但只想使用 css 添加其他选项。

使用CSS:

panels = driver.find_elements_by_css_selector('.panel-content')
for panelNum in range(len(panels)):
    #get the divs count
    panelDivs = len(panels[panelNum].find_elements_by_css_selector("div.row.ehi-pd"))
    print str(panelNum+1) + " panel-content:" + str(panelDivs)

打印具有 class 属性 的嵌套 <div> 标签的总数作为 row ehi-pd在具有 class 属性 作为 panel-content 的祖先 <div> 标签中,您可以使用以下任一方法 :

  • css_selector:

    print(len(driver.find_elements_by_css_selector("div.panel-content div.row.ehi-pd")))
    
  • xpath:

    print(len(driver.find_elements_by_xpath("//div[@class='panel-content']//div[@class='row ehi-pd']")))