Selenium xpath с несколькими условиями и значением элемента выборки - PullRequest
0 голосов
/ 05 декабря 2018

У меня есть условие, где строка tr, которая генерирует динамическое значение:

<tbody>
   <tr id="24686" tabindex="0">
     <td class="nowrap xh-highlight" style="padding: 3px 8px;">Available</td>
   </tr>
</tbody>

У меня есть Xpath 1: (// tbody / tr / td [содержит (text (), 'Доступен')])[1], который возвращает

Available 

и Xpath 2: // tr [1] / @ id, который возвращает

ld_9050427
22707

Условие состоит в том, что я хочу создать один xpath, который будетвернуть первый номер, статус которого доступен, а затем вернуть его идентификатор.Позже я хочу использовать этот же идентификатор для продолжения процесса?

Я пробовал что-то вроде ниже, но это не сработало

(//tbody/tr[/@id and/td[contains(text(),'Disponible')]])[1]

Ответы [ 2 ]

0 голосов
/ 05 декабря 2018

Если вы хотите выбрать tr, который имеет атрибут id (любой) и ячейку таблицы с текстом "Available", попробуйте

//tr[@id and td='Available']

, чтобы извлечь id значение для дальнейшего использования, которое вам нужно get_attribute / getAttribute метод

0 голосов
/ 05 декабря 2018

Чтобы найти первый номер, статус которого Доступен , а затем вернуть его идентификатор, вы можете использовать следующее решение:

  • xpath :

    "//tbody//tr//td[text()='Available']/.."
    

Примечание 1: .. в xpath относится к узлу предка

Примечание 2: Как вы ищетеПри первом совпадении с реализованным условием вы должны использовать:

  • Python:

    find_element_by_xpath()
    
  • Java:

    findElement()
    
  • C #:

    FindElement()
    

Примечание 3: Наконец, вы должны использовать getAttribute ("id") / get_attribute ("id") для извлечения значения атрибута id следующим образом:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...