Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 25, 2022 04:47:38

robisho
Зарегистрирован: 2020-10-19
Сообщения: 60
Репутация: +  2  -
Профиль   Отправить e-mail  

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

Добрый день. При парсинге возникла такая проблема.
Нужно пройти по одноуровневым тегам, найти нужный тег <b>, и от него до следующего тега <b> из всех тегов <nobr> извлечь данные.

 param = []
group_name = 'Инд.тотал'
groupNames = self.driver.find_elements_by_xpath("//div[@data-match-id-show]/b")
for index, groupName in enumerate(groupNames, 1):
    groupName_txt = groupName.get_attribute('innerText').replace(':', '')
    if group_name != groupName_txt:
        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_tag_name("br"):
            # этот тег пропускаем
            pass
        elif odd.find_element_by_tag_name("nobr"):
            # этот тег обрабатываем
            odd_text = odd.get_attribute('innerText')
            param.append(odd_text)
        elif odd.find_element_by_tag_name("b"):
            # на этом теге выходим из цикла
            break
    else:
        break

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

Отредактировано robisho (Янв. 25, 2022 04:49:56)

Прикреплённый файлы:
attachment Скриншот 24-01-2022 234537.jpg (36,9 KБ)

Офлайн

#2 Янв. 25, 2022 11:03:46

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9715
Репутация: +  842  -
Профиль   Отправить e-mail  

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

Так ты, видимо, ищешь дочерние теги, а надо брать сами теги, потому что эти сиблинги найдены уже.
Попробуй odd.tag_name .



Офлайн

#3 Янв. 25, 2022 18:48:02

xam1816
Зарегистрирован: 2020-05-11
Сообщения: 1308
Репутация: +  112  -
Профиль   Отправить e-mail  

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

robisho
Кусок кода страницы на скрине, сорри, не разобрался, как вставить в пост.
интересно, как тогда вы свой код вставили сюда оформленный🤔

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version