Xpath для выбора tr на основе определенного тд, не содержащего текст - PullRequest
0 голосов
/ 07 июня 2018

Я пытаюсь написать скрипт ruby ​​/ selenium, чтобы установить первый флажок в таблице, где строка не содержит определенных значений (множественное число) для //tr/td[6].

Каждый tr в таблице структурирован следующим образом:

<tr>
  <td>
    <input name = "checkbox" type = "checkbox"></input>
  </td>
  <td> irrelevant </td>
  <td> irrelevant </td>
  <td> irrelevant </td>
  <td> irrelevant </td>
  <td> text I care about </td>
</tr>

Мне нужен xpath для флажка первого tr в таблице, где // tr / td [6] не содержит «badtext» и делаетне содержит "badtext2"

Не совсем уверен, как написать xpath для этого.Надеюсь, я объяснил это достаточно хорошо.

1 Ответ

0 голосов
/ 07 июня 2018

Вам нужно использовать функцию not (expression), например, такую:

//tr/td[6][not(contains(text(),'badtext'))][not(contains(text(),'badtext2'))]

, и ваш конечный xpath будет выглядеть так

//tr/td[6][not(contains(text(),'badtext'))][not(contains(text(),'badtext2'))]/../td/input[@name='checkbox']

, если вы хотите отфильтровать любой атрибут, включая текст, использование содержит (., 'badtext')

...