为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

潇湘沐 2019-08-02 17:09:21
XPath中的.//和// *有什么区别?通过Firebug找到相对的XPath:它创建了类似的.//*[@id='Passwd']---------如果我们在开始时不使用dot表示什么呢?只需添加//*Xpath - 它突出显示---各种页面元素----------它表示什么?以下是Gmail密码字段的XPath。有什么意义*?.//*[@id='Passwd']//child::input[@type='password']
查看完整描述

3 回答

?
aluckdog

TA贡献1847条经验 获得超7个赞

这里有几个不同的关键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'


查看完整回答
2 反对 回复 2019-08-02
?
慕桂英546537

TA贡献1848条经验 获得超10个赞

XPath中的点称为“上下文项表达式”。如果在表达式的开头加上一个点,它将使其特定于上下文。换句话说,它将id="Passwd"在您调用“通过XPath查找元素”方法的节点的上下文中搜索元素。

*.//*[@id='Passwd']帮助匹配任何元素id='Passwd'


查看完整回答
1 反对 回复 2019-08-02
  • 3 回答
  • 0 关注
  • 9397 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信