пройти по одноуровневым элементам

robisho

Активный пользователь
Пользователь
Окт 19, 2020
151
26
28
Добрый день. При парсинге с помощью Selenium возникла такая задача.
Скриншот 24-01-2022 234537.jpg
Теги одноуровневые. Я ищу нужный тег <b> и после него, до следующего тега <b>, нужно перебрать все теги и из всех тегов <nobr> получить нужную инфу.
Python:
param = []
group_name = 'Инд.тотал'
groupNames = self.driver.find_elements_by_xpath("//div[@data-match-id-show]/b")
for index, groupName in enumerate(groupNames, 1):
    groupName_text = groupName.get_attribute('innerText').replace(':', '')
    if group_name != groupName_text:
        continue
    group_odds = self.driver.find_elements_by_xpath(f"//div[@data-match-id-show]/b[{index}]/following-sibling::*")
    for odd in group_odds:
        if odd.find_element_by_xpath("./br"):
            # этот тег пропускаем
            pass
        elif odd.find_element_by_xpath("./nobr"):
            # этот тег обрабатываем
            odd_text = odd.get_attribute('innerText')
            param.append(odd_text)
        elif odd.find_element_by_xpath("./b"):
            # на этом теге выходим из цикла
            break
    else:
        break

Скрипт находит group_odds, но дальше не идет. Помогите, пожалуйста, разобраться, где затык. Спасибо.
 
Последнее редактирование:

Форум IT Специалистов