XPath-“获取第一个tr,其第一个td的文本等于'abcd'”

时间:2018-08-23 19:19:59

标签: xpath

我目前有以下xpath://tr[td//text()='AD'][1]

据我了解,这意味着:"find the first tr which has some td child which has any descendant whose text is equal to 'AD'"

这是正确的吗?如果是这样,我想将xpath更改为以下定义:

"find the first tr whose second td child has text equal to 'AD'"

3 个答案:

答案 0 :(得分:4)

  

“找到第二个td子文本等于'AD'的第一个tr”“

可能实现为

//tr[td[position()=2 and text()="AD"]]

答案 1 :(得分:2)

//tr[td//text()='AD'][1]的含义并不像您所说的那样。它扩展为/descendant-or-self::node()/child::tr[child::td//text()='AD'][1],这意味着“对于每个后代节点,返回第一个子tr元素,该元素的后代文本节点等于'AD'。

您应该改写(//tr[td//text()='AD'])[1]

答案 2 :(得分:0)

你可以做 //td[contains(text(), 'AD']/parent::node()