一、绝对路径
/
⚠️需要一级一级定位,如果前端元素发生变化,会找不到元素,所以此方法通常不用
二、相对路径
//
⚠️不需要层级定位,通过查找子元素定位
- *(通配符表示匹配所有的元素)
- .(表示当前节点)
- …(表示当前节点的父节点)
- 条件:用[]表示
1⃣️下标:使用xpath下标,从1开始(使用xpath时用下标定位会有坑,可以搜索出好几个,可以使用括号调整优先级,例如:(//input)[1]
2⃣️属性:用@表示,例如要找标签为input的属性为is,属性值为kw //input[@id=“kw”]
如果要通过文本定位 //a[text()=“百度”]
(1)匹配文本内容以xx开头://a[starts-with(text(),“百”)]
(2)匹配标签属性://a[starts-with(@href,“http://www.baidu”)]
(3)包含匹配
//input[contains(@value,”百度”)]
//input[contains(text(),”百度”)]
3⃣️多个属性用逻辑运算符进行定位
与活或非(and or not)
例如如图上所示,type属性有多个,但是name属性不同,可以使用 //input[@type=“hidden”and @name=“rsv_spt”]
⚠️常用and
三、轴定位(以一个标签为圆心,找父节点子节点)工作中一般不用
本文详细介绍了网页元素的定位方法,包括绝对路径、相对路径及其各种定位策略。绝对路径需逐级定位,易受前端变化影响;相对路径则通过子元素查找。文中还提到了XPath的使用,如通过下标、属性、逻辑运算符进行定位,并给出了多种匹配文本和属性的示例。轴定位虽不常用,但在某些场景下也有其价值。
2217

被折叠的 条评论
为什么被折叠?



