Чтобы сгруппировать данные, разделите их на ширину интервала. Чтобы подсчитать число в каждой группе, рассмотрите использование коллекций . Counter . Вот выработанный пример с документацией и тестом:
from collections import Counter
def histogram(iterable, low, high, bins):
'''Count elements from the iterable into evenly spaced bins
>>> scores = [82, 85, 90, 91, 70, 87, 45]
>>> histogram(scores, 0, 100, 10)
[0, 0, 0, 0, 1, 0, 0, 1, 3, 2]
'''
step = (high - low + 0.0) / bins
dist = Counter((float(x) - low) // step for x in iterable)
return [dist[b] for b in range(bins)]
if __name__ == '__main__':
import doctest
print doctest.testmod()
Хорошо с решением @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)
использовать find_elements_by_xpath
и взять счетчик длины.
totalcount= len(driver.find_elements_by_xpath("//div[@class='panel-content']/div[@class='row ehi-pd']"))
print(totalcount)
Вывести общее количество вложенных тегов <div>
с атрибутом класса в виде строки ehi-pd в теге предка <div>
с атрибутом класса в качестве panel-content вы можете использовать любую из следующих стратегий локатора :
css_selector
:
print(len(driver.find_elements_by_css_selector("div.panel-content div.row.ehi-pd")))
[119 ] xpath
:
print(len(driver.find_elements_by_xpath("//div[@class='panel-content']//div[@class='row ehi-pd']")))