Выберите ссылку, в которой текст содержит "Детали агента", используя XPath

64
10

У меня есть следующий код HTML:

<div class="menu">
<ul class="operation">
<li class="menu_icon selected" id="icon_oper-agents">
<div id="title_menu" style="color:#FFF; padding-top:12px; display:none;">Monitoring</div>
<ul id="subicon_oper-agents" class="submenu invisible" style="display: none;">
<li id="Views" class="has_submenu submenu_selected selected">
<div class=" SubNoLink submenu_text submenu_text_middle">Views</div>
<ul id="subViews" class="submenu2" style="display: none;">
<li class="sub_subMenu" style="">
<a href="index.php?sec=view&sec2=operation/agentes/estado_agente">
<div class="submenu_text submenu2_text_middle" title="">Agent detail</div>
</a>
</li>
<li class="sub_subMenu" style="">
<a href="index.php?sec=view&sec2=extensions/realtime_graphs">
<div class="submenu_text submenu2_text_last" title="">Real-time graphs</div>
</a>
</li>
</ul>
</li>
</ul>
</div>
</li>
</ul>
</div>

Мне нужно перейти к ссылке "index.php? Sec = view & sec2 = operation/agentes/estado_agente" (текст которой представляет собой "Детали агента"), используя XPATH.

У меня уже есть это, но это бесполезно: '//*[@id="subViews"]/li[4]/a'

Мне нужно это выражение Xpath для создания функции python, которая использует клиент Selenium Webdriver для принятия "Детали агента" в качестве параметра и возврата веб-элемента, который представляет его.

Ключевой частью предыдущего кода является:

<li class="sub_subMenu" style="">
<a href="index.php?sec=view&sec2=operation/agentes/estado_agente">
<div class="submenu_text submenu2_text_middle" title="">Agent detail</div>
</a>
</li>

спросил(а) 2021-01-25T13:04:39+03:00 4 месяца, 3 недели назад
1
Решение
63

Если вы хотите получить ссылку: //ul[@id="subViews"]//a[contains(.,"Agent detail")]

И если вы хотите получить его значение href: //ul[@id="subViews"]//a[contains(.,"Agent detail")]/@href

ответил(а) 2021-01-25T13:04:39+03:00 4 месяца, 3 недели назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема