Xpath选择带有文本的节点

时间:2016-05-11 07:25:56

标签: html xpath

我有2个请求。

首先我需要xpath表达式,它选择所有<tr>元素,并在该元素中嵌套任何类型的文本。 我尝试过:

//tr[contains(., 'PRVI ODJELJAK')]/following-sibling::tr[text() != '']

但它不起作用它仍然选择没有文本的兄弟姐妹。 :/

其次有一种方法可以让我们选择一个元素的所有兄弟,直到你遇到一个内部文本与某些文本匹配的兄弟姐妹。

提前谢谢!

1 个答案:

答案 0 :(得分:1)

  

“首先我需要xpath表达式,用于选择嵌套在该元素中的任何类型文本的所有元素”

要过滤包含某些非空白文字的元素,您可以使用normalize-space()

//tr[contains(., 'PRVI ODJELJAK')]/following-sibling::tr[normalize-space()]
  

“其次有一种方法可以让你选择一个元素的所有兄弟姐妹,直到你遇到一个内部文本匹配某些文字的兄弟姐妹”

可能你可以通过选择兄弟姐妹来模仿,其中有兄弟姐妹,内部文字与某些文字相匹配

following-sibling::tr[following-sibling::tr[contains(.,'some text')]]