Xpath轴定位方式

本文详细介绍了XPath在网页元素定位中的应用,包括绝对路径和相对路径定位,特别是轴定位方式,如ancestor、parent、following、preceding、following-sibling和preceding-sibling等,结合元素的属性、文本内容和层级关系,实现精准的网页元素查找。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

"""
xpath
特点:
1、万能定位方法
2、支持各种属性组合定位
3、支持层级关系定位

分类
1、绝对路径定位
2、相对路径定位
    优点:不用考虑位置,不用考虑层级关系,相对绝对定位来说稳定性要强一些,可以通过ctrl+f检查元素是否正确
    缺点:依赖页面各种属性(属性组合起来要唯一)

xpath定位方式
一、通过元素本身的属性来定位
1、标签名+属性的值
语法:
    1、一个条件://input[@id="su"]
    2、多个条件://input[@id="su" and @type="submit"]
    3、定位到多个元素通过索引取值,索引值从1开始://input[@type="hidden"][1]
    4、元素属性+文本组合定位:
    //a[text()="更多" and @name="tj_briicon"]
2、标签名+文本定位
语法:
    1、//span[text()="孟晚舟获释:感谢祖国和人民的支持"]

3、标签名+contains()函数匹配部分属性值或者文本内容定位
    1、定位文本内容
    //span[contains(text(),"孟晚舟获释回国 外交部回应")]
    2、定位属性值:
    t//span[contains(@class,"title-content-title")]
    3、定位文本内容+属性值组合定位
    //span[contains(@class,"title-content-title" ) and text()="孟晚舟获释:感谢祖国和人民的支持"]
    //a[contains(text(),"更多") and @name="tj_briicon"]
    4、定位子节点组合定位
    //div[@id="s_fm"]//input[@id="kw"]
二、通过元素的关系进行定位(轴定位)
1、层级定位通过某个区域的层级关系找到元素
    /:只定位直接子节点://span[@id="s_btn_wr"]/input
    //:定位该节点下的所有节点://div[@id="s_fm"]//input
2、轴名称1:ancestor:祖先节点,包括父节点
    //input[@id="kw"]/ancestor::span/i[1]
    //input[@id="kw"]/ancestor::span//i[@title="清空"]
3、轴名称2:parent:父节点
    //h3[text()="python自动化42期"]/parent::div[@class="header-info"]/p[text()="42期"]
    //parent::div[@class="header-info"]/p[text()="42期"]
4、轴名称3:following:当前节点【之后】的所有节点
    查找当前节点下直接子节点
    //div[@class="content-info"]/following::div
    查找当前节点下所有节点
    //div[@class="content-info"]//following::div
5、轴名称4:preceding:当前节点【之前】的所有节点
    //div[text()=" 课程学习 "]/preceding::div
6、轴名称5:following-sibling:当前节点【之后】的所有兄弟节点
    //div[text()=" 课程学习 "]/following-sibling::div
    //div[text()=" 课程学习 "]/following-sibling::div[text()=" 学情分析 "]
    //div[text()=" 课程学习 "]/following-sibling::div[3]
7、轴名称6:preceding-sibling:当前节点【之前】的所有兄弟节点
    //div[text()=" 成绩管理 "]/preceding-sibling::div[text()=" 课程学习 "]
    //div[text()=" 成绩管理 "]/preceding-sibling::div[1]

元素特性:
是否可见:页面可以就看见
是否可用:按钮可用
存在:在html页面存在
"""
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值