Найти - Пользователи
Полная версия: как пройти по одноуровневым элементам
Начало » Python для новичков » как пройти по одноуровневым элементам
1
robisho
Добрый день. При парсинге возникла такая проблема.
Нужно пройти по одноуровневым тегам, найти нужный тег <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, но дальше не идет. Помогите, пожалуйста, разобраться, что не так. Спасибо.
py.user.next
Так ты, видимо, ищешь дочерние теги, а надо брать сами теги, потому что эти сиблинги найдены уже.
Попробуй odd.tag_name .
xam1816
robisho
Кусок кода страницы на скрине, сорри, не разобрался, как вставить в пост.
интересно, как тогда вы свой код вставили сюда оформленный🤔
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB