XPath中的.//和// *有什么区别?

XPath中的.//和// *有什么区别?

通过Firebug找到相对的XPath:它创建了类似的

  1. .//*[@id='Passwd']---------如果我们在开始时不使用dot表示什么呢?

  2. 只需添加//*Xpath - 它突出显示---各种页面元素----------它表示什么?

以下是Gmail密码字段的XPath。有什么意义*

  • .//*[@id='Passwd']

  • //child::input[@type='password']


潇湘沐
浏览 9458回答 3
3回答

aluckdog

这里有几个不同的关键XPath概念......绝对vs相对XPath(/vs .)/ 引入绝对位置路径,从文档的根开始。. 从上下文节点开始引入相对位置路径。命名元素vs任何元素(enamevs *)/ename选择一个ename根元素./ename选择ename当前节点的所有子元素。/* 选择根元素,无论名称如何。./*或者*选择上下文节点的所有子元素,而不管名称。后代或自我轴(//*)//ename选择ename文档中的所有元素。.//ename选择ename上下文节点或其下的所有元素。//* 选择文档中的所有元素,无论名称如何。.//* 选择上下文节点处或下方的所有元素,无论名称如何。考虑到这些概念,以下是您具体问题的答案.......//*[@id='Passwd']表示选择当前上下文节点或其下具有id属性值等于的 所有元素'Passwd'。//child::input[@type='password']可以简化为, //input[@type='password']并且意味着选择input文档中type属性值等于的所有元素'password'。

慕桂英546537

XPath中的点称为“上下文项表达式”。如果在表达式的开头加上一个点,它将使其特定于上下文。换句话说,它将id="Passwd"在您调用“通过XPath查找元素”方法的节点的上下文中搜索元素。将*在.//*[@id='Passwd']帮助匹配任何元素用id='Passwd'。
打开App,查看更多内容
随时随地看视频慕课网APP