参考资料

  1. XPath Helper 介绍
  2. XPath 选取未知节点
  3. XPath 使用路径表达式在 XML 文档中选取节点
  4. 正则表达式语法速查
  5. XPath 基本语法
  6. 常用正则表达式
  7. 正则生成代码有哪些
  8. XPath 标准函数

xpath定位方法有哪些

  1. 标签定位

    • 语法: //标签名

    • 用法: 通过HTML标签名定位元素

    • 示例: //div 定位所有div元素

  2. 属性定位

    • 语法: //标签名[@属性名='属性值']

    • 用法: 通过元素的属性值定位

    • 示例: //input[@id='username'] 定位id为username的input元素

  3. 文本定位

    • 语法: //标签名[text()='文本内容']

    • 用法: 通过元素的文本内容定位

    • 示例: //a[text()='登录'] 定位文本为"登录"的a标签

  4. 包含定位

    • 语法: //标签名[contains(@属性名,'部分属性值')]//标签名[contains(text(),'部分文本')]

    • 用法: 定位属性或文本包含特定内容的元素

    • 示例: //div[contains(@class,'header')] 定位class包含"header"的div

  5. 层级定位

    • 语法: //父标签/子标签//父标签//子标签

    • 用法: 通过父子关系定位元素

    • 示例: //div/span 定位div下的直接子span

  6. 索引定位

    • 语法: (//标签名)[索引]

    • 用法: 定位多个相同元素中的第n个

    • 示例: (//div)[2] 定位第二个div元素

  7. 逻辑定位

    • 语法: //标签名[@属性1='值1' and @属性2='值2']

    • 用法: 多个条件组合定位

    • 示例: //input[@type='text' and @name='user']

  8. 通配符定位

    • 语法: //*//*[@属性='值']

    • 用法: 匹配任意标签

    • 示例: //*[@class='btn'] 定位所有class为btn的元素

  9. 轴定位

    • //标签名/轴::其他标签名

    • 常用轴: parent, child, ancestor, descendant, following-sibling, preceding-sibling

    • 语法:

    • 用法: 通过元素间关系定位

    • 示例: //div/following-sibling::span 定位div后面的同级span