首页 文章

Xpath根据不包含文本的特定td选择tr

提问于
浏览
0

我正在尝试编写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>

我需要表中第一个tr的复选框的xpath,其中// tr / td [6]不包含“badtext”并且不包含“badtext2”

不完全确定如何为此编写xpath . 希望我能够很好地解释这一点 .

1 回答

  • 0

    你需要像这样使用not(表达式)函数

    //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']
    

    如果要过滤任何属性(包括文本),请使用contains( . ,'badtext')

相关问题