zoukankan      html  css  js  c++  java
  • xpath定位详解

    ###############################################

    复制代码
    xpath学习
    1,绝对路径:就是html文件从html一直到标签,所有的层级都包含,这就是绝对路径,绝对路径是/开始的,
    2,相对路径,就是不需要全都写,相对路径是//开始的,

    //后面要跟标签名称或者*,这是一个关键点,

    1,相对路径和属性定位
    使用属性的时候,一定要使用@来修饰,id,name,class_name都是一样的用法,只要是属性都能用,
    //*[@id='user']
    可以使用firebug生成,但是你懂了原理之后,完全可以自己写,

    2,属性和层级定位
    //*[@id='user']/input,这就是结合使用

    3,属性和逻辑结合
    //*[@id='user' and @name='user']

    复制代码

     

    ##############################################

    复制代码
    xpath延伸
    1,可以通过文本来定位, //*[text()='username']

    2,//*[starts-with(@attribute,'XXX')] 属性值以XXX开头的元素

    3,//*[contains(@attribute,'XXX')] 属性值包含XXX的元素,
    比如:
    //*[@id="editorbox"]/ul/li/a[contains(text(), "发起")]
    复制代码

    #######

    取xpath最后一个book元素
    book[last()]
    
     
    取xpath最后第二个book元素
    book[last()-1]

    #####

    原来contains也是可以选择第几个元素的,关键是要加括号啊
    (//p[contains(@class,'userName')]/a)[1]

    ####

    xpath获取当前标签的兄弟节点,父节点
    
    <div> <a id="1" href="www.baidu.com">我是第1个a标签</a> <p>我是p标签</p> <a id="2" href="www.baidu.com">我是第2个a标签</a> <a id="3" href="www.baidu.com">我是第3个a标签</a> <a id="4" href="www.baidu.com">我是第4个a标签</a> <p>我是p标签</p> <a id="5" href="www.baidu.com">我是第5个a标签</a> </div>


    获取第三个a标签的下一个a标签:"//a[@id='3']/following-sibling::a[1]" 获取第三个a标签后面的第N个标签:"//a[@id='3']/following-sibling::*[N]" 获取第三个a标签的上一个a标签:"//a[@id='3']/preceding-sibling::a[1]" 获取第三个a标签的前面的第N个标签:"//a[@id='3']/preceding-sibling::*[N]" 获取第三个a标签的父标签:"//a[@id=='3']/.."

     ####

  • 相关阅读:
    ASP.NET Core依赖注入(DI)
    SQLSERVER 创建索引视图注意事项
    Git的基本使用方法(0基础小白也能看懂)
    并发系列64章(异步编程二)第三章
    并发系列64章(异步编程)第二章
    并发系列64章(并发概要)第一章
    SQL Server配置邮件服务器
    SQL Server常用函数及命令
    SQL Server将一段字符串根据特定分隔符转换成一个表变量
    SQL Server双机热备之发布、订阅实现实时同步
  • 原文地址:https://www.cnblogs.com/andy0816/p/14442989.html
Copyright © 2011-2022 走看看