""" 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页面存在 """
Xpath轴定位方式
最新推荐文章于 2024-10-16 19:14:39 发布