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中,.代表当前路径,.. 代表上层路径
    世界上最美的风景,是自己努力的模样
  • 相关阅读:
    ubuntu 安装 redis desktop manager
    ubuntu 升级内核
    Ubuntu 内核升级,导致无法正常启动
    spring mvc 上传文件,但是接收到文件后发现文件变大,且文件打不开(multipartfile)
    angular5 open modal
    POJ 1426 Find the Multiple(二维DP)
    POJ 3093 Margritas
    POJ 3260 The Fewest Coins
    POJ 1837 Balance(二维DP)
    POJ 1337 A Lazy Worker
  • 原文地址:https://www.cnblogs.com/xiong-hua/p/14939229.html
Copyright © 2011-2022 走看看