如何使用xpath获取包含单词的第一个标签?

时间:2018-12-19 21:38:19

标签: xpath

如何获得第一个按钮,该按钮的类型,类,id或任何包含文本(子字符串等于)"on"$ ./bin/strstr_on found: 'on the TV on the desk' (now what?) found: 'on the desk' (now what?) close的文本?我尝试过:

Close

但它不起作用。

1 个答案:

答案 0 :(得分:1)

您的谓词正在测试是否有任何text()节点包含“关闭”。但是,属性不是text()节点。

您可以调整谓词以匹配任何属性,然后对这些属性使用谓词以测试其name()是“ type”,“ class”还是“ id”以及它是lower-case()值包含“关闭”:

通过 XPath 2.0 ,您可以使用此功能:

//button[@*[ name() = ('type','class','id') and contains(lower-case(.), 'close') ]]

使用 XPath 1.0 ,需要做更多的工作。您可以将大写字母转换为小写字母:

//button[
    @*[name() = 'type' or name() = 'class' or name() = 'id']
      [contains(translate(.,'CLOSE','close'), 'close')]]