selenium Xpath 详解

xpath 概念

XPath也定义为XML路径 。 它是一种查询语言,用于浏览XML文档以查找不同的元素。 在Selenium中定位元素是重要的策略之一。 XPath用于通过使用HTML DOM结构在网页上定位Web元素

xpath 节点

在 XPath 中,有七种类型的节点:元素、属性、文本、命名空间、处理指令、注释以及文档(根)节点。XML 文档是被作为节点树来对待的。树的根被称为文档节点或者根节点。。

xpath 语法-谓语

selenium Xpath 详解_第1张图片

xpath 语法-通配符

在这里插入图片描述

xpath 定位-绝对定位

绝对定位 – 以/ 开头,但是要从根目录开始,比较繁琐,一般不建议使用 如:/html/body/div/a
selenium Xpath 详解_第2张图片

xpath 定位-相对定位

相对定位 – 以// 开头 如://form//input[@name=“phone”]
selenium Xpath 详解_第3张图片

Xpath定位-文本定位

【文本定位】使用text()元素的text内容 如://button[text()=“登录”]
selenium Xpath 详解_第4张图片

Xpath定位-模糊定位-contains

【模糊定位】使用contains() 包含函数 如://button[contains(text(),“登录”)]、//button[contains(@class,“btn”)]

selenium Xpath 详解_第5张图片

Xpath定位-模糊定位-start-with

这种方式一般用于知道显示的部分或全部文本信息时,可以使用。下图寻找rel属性以nofo开头的a元素。其中@后面的rel可以替换成元素的任意其他属性

selenium Xpath 详解_第6张图片

Xpath定位-模糊定位-ends-with

匹配以xx结尾的属性值 如://input[starts-with(@id,“login-”)]、//input[ends-with(@id,“ogin-email”)]

在这里插入图片描述

Xpath定位-逻辑定位

使用逻辑运算符 – and、or;如://input[@name=“phone” and @datatype=“m”] 可以根据一个元素的多个属性进行定位,确保唯一性

selenium Xpath 详解_第7张图片

Xpath定位-轴定位

轴定位是根据父节点,兄弟节点等节点来定位本节点,使用语法: 轴名称 :: 节点名称,使用较多场景:页面显示为一个表格样式的数据列


# 定位当前节点后的所有节点 	//标签名[@属性=属性值]/follow::标签名[@属性=属性值]   
# 定位同一节点后的所有同级节点   //标签名[@属性=属性值]/follow-sibling::标签名[@属性=属性值] 
# 定位当前节点的所有子节点 	 //标签名[@属性=属性值]/child::标签名[@属性=属性值]      
# 定位当前节点前的所有节点	//标签名[@属性=属性值]/preceding::标签名[@属性=属性值]        
#  定位同一个几点前的所有同级节点	//标签名[@属性=属性值]/preceding-sibling::标签名[@属性=属性值]
# 定位当前节点的所有父节点	//标签名[@属性=属性值]/parent::标签名[@属性=属性值]  
# 定位当前节点的所有祖父节点	 //标签名[@属性=属性值]/ancestor::标签名[@属性=属性值]



你可能感兴趣的:(网页自动化测试,selenium,测试工具,xpath,详解)