zoukankan      html  css  js  c++  java
  • XPATH基本语法

    1.XPATH与自动化之间的关系

      1.XPATH是一门在XML文档中查找信息的语言。XPATH可用来在XML文档中对元素和属性进行遍历。

      2.XPATH是用来选择“节点”的一种基于表达式的语言;

      3.表达式的格式类似于文件系统,eg. C:useradmin;

      4.XPATH最常用的场景之一就是在自动化中用来选择HTML DOM 节点;

      5.Selenium原生支持XPATH,因此也是selenium自动化测试中作为选择web 元素的主要方法之一;

    2.XPATH简介

    XPATH 包含一个标准函数库:XPATH含有超过100个内建的函数。可以处理字符串值,数值,日期和时间比较,节点和QName处理,序列处理,逻辑值等等。

    3.XPATH术语

    有7种类型的节点(Node):元素、属性、文本、命名空间、处理指令、注释、文档节点(或称为根节点).XML文档是被作为节点树来对待的,树的根被称为文档节点或根节点。基本值(Atomic value)是无父或无子的节点。项目(Item)是基本值或者节点。

    XPATH节点:

     XPATH术语: 

      – Parent:父节点

       – Child:子节点

       – Sibling:同胞节点

       – Ancestor:先辈节点

       – Descendant:后代节点

     XPATH术语:

     

    4.XPATH语法

      4-1.选取节点

     

     

    4-2.谓语(Predicates)

    谓语用来查找某个特定的节点或者包含某个指定的值的节点。

    谓语被嵌在方括号中。

     

    4-3.选取未知节点

     

    4-4.选取若干路径

     

    5.XPATH轴

     

    5-1.位置路径表达式

     

    5-2.步包括轴和节点测试

     

    6.XPATH运算符

    XPATH 表达式可返回节点集、字符串、逻辑值以及数字。

     

    https://www.cnblogs.com/zhaozhan/archive/2009/09/10/1564332.html

    http://www.zvon.org/xxl/XPathTutorial/General_chi/examples.html

     

    选取当前节点之后的所有同级节点:Following-sibling::子节点标签名

    选取当前节点的父节点:parent::子节点标签名

    选取当前节点之前的所有同级节点:Preceding-sibling::子节点标签名

    7.用Text构建有效的XPATH

    语法如下://标签名[text()=’标签名对应的文本名称’]

    比如://a[text()=’文本名称’],文本名称要完全匹配,包括空格。

    8.用Contains关键字构建有效的XPATH

    语法如下://标签名[contains(attribute,’属性的值’)]

    比如://a[contains(text(),’忘记密码’)],其中忘记密码可以部分包含,不用完全匹配。

    //input[contains(@class,’ipt’) and contains(@placeholder,’手机号’)],其中可以使用逻辑的方式去定位元素。

    9.用startwith关键字构建有效的XPATH

    语法如下://标签名[startwith(attribute,’属性的开始值开头’)]

    比如://input[starts-with(@class,’xa-emaiOrphone’)]

  • 相关阅读:
    【转载】超级实用且不花哨的js代码大全 -----高级应用(一)
    【 Date 对象 参考手册】
    js随机数random()方法
    【转载】js数组的操作
    【转载】js数组和json的区别
    干货----004----MySQL忘记root密码怎么办?
    PHP框架——TP_0001----ThinkPHP常用配置
    干货----003----乱码解决方法
    Python之路【第二十六篇】:xml模块
    Python之路【番外篇1】:使用Python创建照片马赛克
  • 原文地址:https://www.cnblogs.com/wendyw/p/11633588.html
Copyright © 2011-2022 走看看