# xpath 使用路径表达式来匹配xml文档或html文档中的节点或节点集, # 这个路径表达式,和我们常见的文件夹路径有点像 # xpath 的标准语法 //tagname[@属性=''] # @后边可以跟任意属性,只要这个元素有就可以 # //a[@href='/checkwork/manage']/i[@class='fa fa-tasks'] # 上述表达式理解为: # 具备class属性且class属性值为fa fa-tasks # 并且父元素是a标签,且父元素具有 href 属性,并且父元素的href属性值为/checkwork/manage """ xpath中的单斜杠和双斜杠 / 通常用在绝对路径,也表示父子关系 // 通常用作相对路径,可以从文档的任意位置开始作为起点,也表示后代关系 """ # xpath的属性定位表达式 # //p[@id] 匹配所有具备id属性的p标签 # //p[@id='abc'] 匹配所有id属性值为abc的p标签 # //p[@id='abc' and @name='xyz'] xpath 允许我们使用and或or连接多个属性 # //*[@class='yu'] 可以用星号代替tagname,代表通配符,这个表达式匹配所有class属性值为yu的元素,不论元素标签是什么 # xpath 允许我们使用文本进行定位(css不支持 # //*[text()='打 印'] 使用的文本就是标签对之间的内容 # 轴定位 # //*[text()='打 印']/ancestor::span # ancestor 选取当前节点的所有先辈元素,并且要指定先辈元素的类型 # //*[text()='打 印']/ancestor-or-self::div # 选取当前节点所有的先辈元素,或者当前节点本身 # //*[text()='打 印']/preceding-sibling::span # preceding-sibling 选取当前节点之前的所有同级节点 # //*[text()='打 印']/descendant::p # descendant 选取当前节点的所有后代元素 # //*[text()='打 印']/descendant-or-self::span # descendant-or-self 选取当前节点的所有后代元素,或者当前节点本身 # 在 xpath中,.代表当前路径,.. 代表上层路径
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。