如果没有任何属性值,如何查找元素xpath?

时间:2018-08-01 05:53:37

标签: xpath

例如

<tr><th>sample1</th><th>sample2</th></tr><tr<td>data1</td><td>data2</td></tr>

在上表中,我们没有任何属性值。但是他们只有TagName。从中我们可以找到所有它们的唯一xpath。我尝试使用xpath之类的

//tr[not(@class) and not (@id)]

但是通过使用它们,它们可以获取所有tr .so,从而我们可以找到唯一的xpath。请任何人通过一些演示立即知道答案的更新...

1 个答案:

答案 0 :(得分:0)

属性值很方便,但在XPath中选择数据不是必需的。

例如,对于您的XML,为了便于阅读而格式化并固定为格式正确,

<table>
  <tr>
    <th>sample1</th>
    <th>sample2</th>
  </tr>
  <tr>
    <td>data1</td>
    <td>data2</td>
  </tr>
</table>

以下每个XPath表达式,

  • 通过位置/table/tr[2]/td[2]
  • 通过内容: //td[.='data2']
  • 通过邻接: //td[.='data1']/following-sibling::td[1]
  • 通过标题//tr[2]/td[count(../../tr/th[.='sample2']/preceding-sibling::th)+1]

将选择

    <td>data2</td>

不依赖属性值。

另请参见