@U_n_d_e_r

Как получить все class в selenium?

Имеется код страницы:
/html/body/div[@class='wrapper']/div[@class='main']/div[@class='main-layout']/div[@class='wrap relative']/div[@class='content-main']/table[@class='meal-list block-open']/tbody/tr[1]/th/div/span"

С помощью этого кода могу получить только первый class, и то если оставить первый фрагмент html кода.
string x = driver.FindElement(By.XPath("/html/body/div[@class='wrapper']/div[@class='main']/div[@class='main-layout']/div[@class='wrap relative']/div[@class='content-main']/table[@class='meal-list block-open']/tbody/tr[1]/th/div/span")).GetAttribute("class");

Как можно получить все фрагменты class ?
  • Вопрос задан
  • 159 просмотров
Пригласить эксперта
Ответы на вопрос 1
@GeneD88
QA
Делаешь поиск топового нода: /html/body
Далее, ищешь все child nodes под ним: .//*
И после этого, у каждого child node достаешь значение атрибута class.

Пример:
top = driver.find_element_by_id("/html/body")
all_childs_by_xpath = top.find_elements_by_xpath(".//*")
for e in all_childs_by_xpath:
    e.get_attribute('class')
Ответ написан
Ваш ответ на вопрос

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

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