我有一个包含函数的 xpath。我不知道contains() 中的.,是什么意思,这个 xpath 是如何工作的?有人可以告诉我吗?谢谢。
xpath('//div[label//text()[contains(., "Faculty")]]//input')
我有一个包含函数的 xpath。我不知道contains() 中的.,是什么意思,这个 xpath 是如何工作的?有人可以告诉我吗?谢谢。
xpath('//div[label//text()[contains(., "Faculty")]]//input')
.引用当前上下文节点,在您的情况下是文本节点,因为.驻留在谓词表达式(表达式内[])中text()。分解您的 XPath 表达式:
//div[...]:查找div元素,在文档中的任何位置,在哪里......label:div有子元素label//text()[contains(., "Faculty")]: 并且标签包含后代文本节点,其中文本节点的值包含文字'Faculty'//input:从div满足上述所有条件的元素中,返回后代元素input所以 xpath 是//div[label//text()[contains(., "Faculty")]]//input
//div[...]//input在所有 div 中搜索与括号中的特殊条件匹配的所有输入
条件是label//text()[contains(., "Faculty")]
所以上面的 div 应该有直接的孩子(在第一级),其中在任何低于项目的任何级别上都存在包含“Faculty”的文本