zoukankan      html  css  js  c++  java
  • selenium xpath高级语法

    # 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中,.代表当前路径,.. 代表上层路径
    世界上最美的风景,是自己努力的模样
  • 相关阅读:
    3.Appium运行时出现:Original error: Android devices must be of API level 17 or higher. Please change your device to Selendroid or upgrade Android on your device
    3.Python连接数据库PyMySQL
    2.Python输入pip命令出现Unknown or unsupported command 'install'问题解决
    2.Linux下安装Jenkins
    5.JMeter测试mysql数据库
    Android 4学习(7):用户界面
    Android 4学习(6):概述
    Android 4学习(5):概述
    Android 4学习(4):概述
    Android 4学习(3):概述
  • 原文地址:https://www.cnblogs.com/xiong-hua/p/14939229.html
Copyright © 2011-2022 走看看