zoukankan      html  css  js  c++  java
  • selenium xpath定位方式整理

    #xpath定位元素方法:
    /html/body/div[2] #绝对路径定位
    #相对路径定位元素
    //* #找到所有的元素
    //input #找到input元素
    //*[@*] #表示有属性的所有元素
    //*[@id] #找到所有包含id属性的元素
    //*[@id="div1"] #找到id为div1的元素
    //*[@id="div2" and @name="wulaoshidiv"] #找到同时具备两个属性的元素(必杀技)
    //*[@id="div1" or @name="wulaoshidiv"] #找到其中一个具备属性的元素
    //*[@id!="div1"] #找到id不等于div1的元素
    //*[contains(@name,"wulao")] #找到部分属性值的元素
    //*[.="挺风和日丽的"] #通过文本定位页面元素(找到两个元素)
    //div[@id="div1"]/*[.="挺风和日丽的"] #先找到div1的元素,然后定位文本元素
    //div[@id="div1"]/*[contains(.,"风和")] #模糊查找元素
    //div[@id='div1']/p[3] #找到div元素下的第3个p元素
    //div[@id='div1']/p[last()] #找到div元素下最后一个p元素
    //div[@id='div1']/p[last()]/.. #找到上一级元素
    //div[@id='div1']/* #找到div1下所有的子节点
    //p[.>20] #找到元素p中值大于20的元素
    //p[text()=20] #找到p元素中文本为20的元素(.和text()相同)
    
    
    #亲属关系匹配(轴)
    parent::* #表示当前节点的父节点元素
    ancestor::* #表示当前节点的祖先节点元素(所有的)
    child::* #表示当前节点的子元素
    /A/descendant::* #表示A的所有后代元素
    self::* #表示当前节点的自身元素
    ancestor-or-self::* #表示当前节点的及它们的后代元素
    following-sibling::* #表示当前节点的后面所有兄弟节点元素
    preceding-sibling::* #表示当前节点的前面所有兄弟节点元素
    following::* #表示当前节点的后序所有元素
    preceding::* #表示当前节点的所有元素

    #练习:
    
    
    //p[.=50]/preceding-sibling::p[1] #找到p元素值为50的上一个p元素
    
    
    //p[.=40]/following-sibling::p[1] #找到p元素值为50的下一个兄弟p元素
    
    
    //p[.=40]/parent::div #找到当前节点父元素
    
    
    //p[.=40]/ancestor::div/preceding-sibling::div #找到p为40的父元素的上一个div兄弟元素
    
    
    //*[@id='div1']/child::p[1] #找到id属性值为div1的下一级p的第一个元素
     
  • 相关阅读:
    启动docker 服务时 虚拟机端口转发 外部无法访问
    ADC滤波处理的十种方法
    ubuntu卸载软件
    Cannot fetch index base URL http://pypi.python.org/simple/
    pip命令详解
    QT入门
    tensorflow学习-第一章
    opencv学习-第一章
    二叉树详解
    C/C++内存地址划分
  • 原文地址:https://www.cnblogs.com/xiaoxiao075/p/10689631.html
Copyright © 2011-2022 走看看