Перейти к содержимому

Фотография

Найти текст в span

selenium python

  • Авторизуйтесь для ответа в теме
Сообщений в теме: 4

#1 missial

missial

    Новый участник

  • Members
  • Pip
  • 11 сообщений
  • ФИО:Алексеев Пётр Геннадьевич

Отправлено 26 мая 2014 - 20:25

<ul id="c032a907-d64d-4cd4-ac93-140113189175-usersList">
    <li id="c032a907-d64d-4cd4-ac93-140113189175-user-li-Administrator" class="tree-toggle">
        <span style="font-weight: bold; color: #0972a5;">Administrator</span>
    </li>
</ul>

Никак не могу найти текст Administrator в теге span

 

Пробовал делать так:

driver.find_element_by_xpath(".//*[@class='tree-toggle']/span").text

Но ничего не возвращается(

 

Как найти текст?


  • 0

#2 Alex

Alex

    Постоянный участник

  • Members
  • PipPipPip
  • 237 сообщений
  • ФИО:Алексей

Отправлено 27 мая 2014 - 05:33

 

<ul id="c032a907-d64d-4cd4-ac93-140113189175-usersList">
    <li id="c032a907-d64d-4cd4-ac93-140113189175-user-li-Administrator" class="tree-toggle">
        <span style="font-weight: bold; color: #0972a5;">Administrator</span>
    </li>
</ul>

Никак не могу найти текст Administrator в теге span

 

Пробовал делать так:

driver.find_element_by_xpath(".//*[@class='tree-toggle']/span").text

Но ничего не возвращается(

 

Как найти текст?

 

Зачем *? Почему не напрямую //li[@class='...']? Выведите innerHtml элемента, вполне вероятно вы не на тот элемент фокусировались (getAttribute("innerHTML")). Можно перебрать через findElements, чтобы понять какому количеству элементов соответствует xpath


  • 0

#3 missial

missial

    Новый участник

  • Members
  • Pip
  • 11 сообщений
  • ФИО:Алексеев Пётр Геннадьевич

Отправлено 04 июня 2014 - 16:24


 

 

<ul id="c032a907-d64d-4cd4-ac93-140113189175-usersList">
    <li id="c032a907-d64d-4cd4-ac93-140113189175-user-li-Administrator" class="tree-toggle">
        <span style="font-weight: bold; color: #0972a5;">Administrator</span>
    </li>
</ul>

Никак не могу найти текст Administrator в теге span

 

Пробовал делать так:

driver.find_element_by_xpath(".//*[@class='tree-toggle']/span").text

Но ничего не возвращается(

 

Как найти текст?

 

Зачем *? Почему не напрямую //li[@class='...']? Выведите innerHtml элемента, вполне вероятно вы не на тот элемент фокусировались (getAttribute("innerHTML")). Можно перебрать через findElements, чтобы понять какому количеству элементов соответствует xpath

 

Спасибо! Получилось это сделать!

 

Теперь столкнулся с похожей проблемой, только текст расположен иначе. Как можно тут отыскать UserManager?

bel id="c04ce669-5071-414a-9b0c-140189662327-UserManager-label" class="revealTreeBrancheHeader revealTreeBrancheHeader-folder tree-toggle webPagesTop">
    <span class="revealTreeBranche glyphicon glyphicon-chevron-right objectItem" style="color: rgb(151, 185, 235);"/>
         UserManager                           
    <span class="quantity badge" style="background: none repeat scroll 0% 0% transparent; color: transparent; display: inline;">1</span>
</label>

  • 0

#4 Alex

Alex

    Постоянный участник

  • Members
  • PipPipPip
  • 237 сообщений
  • ФИО:Алексей

Отправлено 05 июня 2014 - 07:39

 


 

 

<ul id="c032a907-d64d-4cd4-ac93-140113189175-usersList">
    <li id="c032a907-d64d-4cd4-ac93-140113189175-user-li-Administrator" class="tree-toggle">
        <span style="font-weight: bold; color: #0972a5;">Administrator</span>
    </li>
</ul>

Никак не могу найти текст Administrator в теге span

 

Пробовал делать так:

driver.find_element_by_xpath(".//*[@class='tree-toggle']/span").text

Но ничего не возвращается(

 

Как найти текст?

 

Зачем *? Почему не напрямую //li[@class='...']? Выведите innerHtml элемента, вполне вероятно вы не на тот элемент фокусировались (getAttribute("innerHTML")). Можно перебрать через findElements, чтобы понять какому количеству элементов соответствует xpath

 

Спасибо! Получилось это сделать!

 

Теперь столкнулся с похожей проблемой, только текст расположен иначе. Как можно тут отыскать UserManager?

bel id="c04ce669-5071-414a-9b0c-140189662327-UserManager-label" class="revealTreeBrancheHeader revealTreeBrancheHeader-folder tree-toggle webPagesTop">
    <span class="revealTreeBranche glyphicon glyphicon-chevron-right objectItem" style="color: rgb(151, 185, 235);"/>
         UserManager                           
    <span class="quantity badge" style="background: none repeat scroll 0% 0% transparent; color: transparent; display: inline;">1</span>
</label>

 

 

За такую верстку по рукам бы надавать. По факту, скорее всего извлечь именно этот текст никак. Забирать нужно текст элемента label, а он захватит и текст вложенных span-ов. Можно попробовать, как вариант, скопировать этот HTML и создать свой XML/DOM фрагмент , у которого выцепить потом текст node, но не уверен, что это получится.


  • 2

#5 missial

missial

    Новый участник

  • Members
  • Pip
  • 11 сообщений
  • ФИО:Алексеев Пётр Геннадьевич

Отправлено 05 июня 2014 - 10:02

Что не так в этой верстке? Хочу высказать это на планерке...

Кстати она везде такая, вот так и приходится тестировать(

Нашел текст через атрибут, используя родительский элемент

element.find_element_by_xpath(".//ul[@class='nav nav-list tree menuUserData-top list-group']/li/label").get_attribute("textContent")

  • 0



Темы с аналогичным тегами selenium, python

Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных