zoukankan      html  css  js  c++  java
  • web自动化测试(五)——xpath定位

    xpath定位

    终极目标:找到唯一的一个元素

    F12,在elements中,ctrl+f 可验证xpath表达式是否正确

    以//开头, //标签名[@属性名=值]

    *匹配所有

    逻辑运算   使用 and  或者or 

          //*[@id="kw" and @name="wd" and @class="s_ipt"]

    定位:

       绝对定位

               父/子  位置和继承关系                 /html/body/div[2]/div[2]/div[5]/div[1]/div/form/span[1]/input

               项目中不使用绝对定位,一旦元素变动,改动太大

      相对定位

              //*[@id="u_sp"]/a[2]           a[2],从1开始(不是从0开始)

              只关注页面中是否有符合我条件的元素,搜出条件,在啊html当中去找

      通过元素的文本内容来定位

            适用于:文本内容固定

            语法------//标签名[text()=文本值]

            例子-------//p[text()="平均出勤率"]

      包含——属性/文本内容,包含一部分

             语法-------contains(@属性/text(),被包含的内容)

             例子-------//span[contains(@class,"quickdelete-wrap")]        代码:class="bg s_ipt_wr quickdelete-wrap"

    轴定位:

       使用场景:

              以上所有定位都无法帮你找到元素

             表格的情况下用的比较多

         通过儿子找爸爸,找爷爷

         通过兄弟找兄弟

         轴定位--单斜杠

       轴定位语法:

               1、 ancestor————祖先节点,包括父

               2、parent   ——父节点

              3、preceding——当前元素节点之前的所有节点(html页面先后顺序)、只要在我前面,不管是不是亲生的

              4、preceding-sibling——当前元素节点之前的所有兄弟节点、比我大的兄弟,亲生的

              5、following——当前元素标签之后的所有节点(html页面先后顺序))、只要在我后面的  ,不管是不是亲生的

              6、following-sibling——当前元素节点标签之后的所有兄弟节点

              语法

                         已知的元素/轴名称::标签名称[@属性=值]

             例:

                    //div[@id="u1"]//a[@name="tj_login"]/preceding-sibling::a[@id="kw"]

                

       

  • 相关阅读:
    django 之(一) --- DjangoRestFormwork
    工具 --- Git理解
    部署 --- Docker使用
    django 之(三) --- 会话|关系|静态*
    flask 之(七) --- 认证|文件|部署
    系统 --- Linux系统环境搭建
    flask 之(六) --- API|RestfulApi
    flask 之(五) --- 对象|钩子|拆分
    数据类型检测
    基本数据类型和引入数据类型
  • 原文地址:https://www.cnblogs.com/taiyangfeng/p/12031885.html
Copyright © 2011-2022 走看看