我有一个包含函数的 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”的文本