1

我有一个包含函数的 xpath。我不知道contains() 中的.,是什么意思,这个 xpath 是如何工作的?有人可以告诉我吗?谢谢。

xpath('//div[label//text()[contains(., "Faculty")]]//input')
4

2 回答 2

2

.引用当前上下文节点,在您的情况下是文本节点,因为.驻留在谓词表达式(表达式内[])中text()。分解您的 XPath 表达式:

  • //div[...]:查找div元素,在文档中的任何位置,在哪里......
  • labeldiv有子元素label
  • //text()[contains(., "Faculty")]: 并且标签包含后代文本节点,其中文本节点的值包含文字'Faculty'
  • //input:从div满足上述所有条件的元素中,返回后代元素input
于 2017-10-24T11:40:17.660 回答
0

所以 xpath 是//div[label//text()[contains(., "Faculty")]]//input

//div[...]//input在所有 div 中搜索与括号中的特殊条件匹配的所有输入

条件是label//text()[contains(., "Faculty")]

所以上面的 div 应该有直接的孩子(在第一级),其中在任何低于项目的任何级别上都存在包含“Faculty”的文本

于 2017-10-24T12:29:33.097 回答