在这里,我如何在class =“ panel-content”的每个div下获取class =“ row ehi-pd”的div总数? 如图所示。
它应该分别为每个class =“ panel-content”部分提供输出,而不是将所有部分都组合在一起。
例如:
第一个“面板内容”:6
第二个“面板内容”:5
第3个“面板内容”:3
答案 0 :(得分:0)
使用find_elements_by_xpath
并计算长度。
totalcount= len(driver.find_elements_by_xpath("//div[@class='panel-content']/div[@class='row ehi-pd']"))
print(totalcount)
答案 1 :(得分:0)
适用于@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)
答案 2 :(得分:0)
要在带有的祖先<div>
标记中以 row ehi-pd 形式打印具有 class属性的嵌套<div>
标记的总数> class属性作为面板内容,您可以使用以下Locator Strategies之一:
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']")))