При загрузке страницы я могу найти 1 деление, 2 деления, 3 деления или 0 делений на каждую загрузку
Пример с тремя делениями ниже:
<div class="SOME_dIV">
<span class="class_title">TITLE-1</span>
<span class="_some_class1">VALUE-1</span>
<span class="_some_class2">VALUE-2</span>
<span class="_some_class3">VALUE-3</span>
</div>
<div class="SOME_dIV">
<span class="class_title">TITLE-2</span>
<span class="_some_class1">VALUE-10</span>
<span class="_some_class2">VALUE-20</span>
<span class="_some_class3">VALUE-30</span>
</div>
<div class="SOME_dIV">
<span class="class_title">TITLE-3</span>
<span class="_some_class1">VALUE-100</span>
<span class="_some_class2">VALUE-200</span>
<span class="_some_class3">VALUE-300</span>
</div>
Мой pyhton код
html = webdriver.Firefox()
html.get('DYNAMIC_URL')
html_source = html.page_source
html_source_bs = bs(html_source, 'html.parser')
all_divs = html_source_bs.find_all('div', class_='SOME_DIV')
span_litle = all_divs[0].find('div', class_='class_title')
span_1 = all_divs[0].find_all('span', class_=lambda c: '_some_class1' in c)
span_2 = all_divs[0].find_all('span', class_=lambda c: '_some_class2' in c)
span_3 = all_divs[0].find_all('span', class_=lambda c: '_some_class3' in c)
title_list = ['Title']
span1_list = ['Span1']
span2_list = ['Span2']
span3_list = ['Span3']
for l_title in corrida_numero:
result = l_title.strip()
title_list.append(result)
for l_1 in participantes_numeros[0:]:
result = l_1.text.strip()
span1_list.append(result)
for l_2 in participantes_nomes[0:]:
result = l_2.text.strip()
span2_list.append(result)
for l_3 in participantes_odds[0:]:
result = l_3.text.strip()
span3_list.append(result)
print(title_list)
print(span1_list)
print(span2_list)
print(span3_list)
Вывод
['Title', 'TITLE-1']
['Span1', 'VALUE-1']
['Span2', 'VALUE-2']
['Span3', 'VALUE-3']
Ожидаемый вывод, если есть 3 деления
['Title', 'TITLE-1']
['Span1', 'VALUE-1']
['Span2', 'VALUE-2']
['Span3', 'VALUE-3']
['Title', 'TITLE-2']
['Span1', 'VALUE-10']
['Span2', 'VALUE-20']
['Span3', 'VALUE-30']
['Title', 'TITLE-3']
['Span1', 'VALUE-100']
['Span2', 'VALUE-200']
['Span3', 'VALUE-300']
Я собираю информацию в Интернете с одного сайта. Когда сайт загружается, я могу найти один div с классом 'SOME_DIV, 2 div или 3 div, или даже больше, а также с любым div (0).
Если есть 3 div с классом' SOME_DIV ', когда webdriver загружает страницу, затем я хочу получить информацию для всех элементов div.
В данный момент я могу получить только первые данные div с помощью "all_divs [0] .find_all", я хочу получить данные о другие div, если они существуют, но я не знаю, сколько div будет найдено, пока страница не загрузится.