我目前有以下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'"
答案 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()