如何使用XPath选择包含指定文本的单元格的表行?
用途:
ExpressionSelectingTable/tr[td//text()[contains(., 'targetString')]]
这意味着:
选择由表达式ExpressionSelectingTable
选择的任何表的每个子元素tr
,并且该tr
至少有一个td
子元素,该子元素至少有一个文本节点后代包含字符串'targetString'
ExpressionSelectingTable//tr[...]
,因为行可能是 thead
、tbody
和/或 tfoot
的子元素。 - Phrogzthead
、tbody
和 tfoot
的注意事项移至答案本身是值得的,因为在编写 ExpressionSelectingTable
时,这正是我短板所在。我猜这很常见。 - cprn//tr/td[normalize-space(text())="香蕉"]/..
这将选择包含文本“香蕉”的任何元素,并使用/..
选择其父元素。td
的tr
。 - Dimitre Novatchev