Задать вопрос
@JyriG

Selenium: почему не находит элементы внутри элемента в LOOP?

Итак, есть элементы DIV, на которые я настроил цикл:
gs = driver.find_elements(By.XPATH, '//*[@id="__next"]/main/div/div/div/div/div')
num = 0
 for g in gs:
          #iterate thru unneseccary elements
           while num < 6:
                num+=1
                continue

          h2= g.find_element(By.XPATH, '//h2').text
          print(h2))
          print(g.get_attribute("innerText"))
          num+=1


принтит
1 Heading
1 Heading
1 Heading
2 Heading
1 Heading
3 Heading

Почему оно так и как это исправить?
т.е сделать так:
1 Heading
1 Heading
2 Heading
2 Heading
3 Heading
3 Heading
  • Вопрос задан
  • 82 просмотра
Подписаться 1 Простой 5 комментариев
Решения вопроса 1
Mike_Ro
@Mike_Ro Куратор тега Python
Python, JS, WordPress, SEO, Bots, Adversting
Необходимо использовать относительные пути в XPATH:
# h2= g.find_element(By.XPATH, '//h2').text
h2 = g.find_element(By.XPATH, './/h2').text
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы