一、为什么要手写xpath
-
- 元素没有固定的class、type、id等唯一属性
-
- 元素的id是动态改变的
-
- 元素在使用定位工具时抓取不到(如有些元素喜欢躲猫猫,移开鼠标则消失)
-
- 直接复制的Xpath不稳定,元素本身没有变化,但是某些操作导致页面发生变化(如页面很多个div发生改变,div[]中的序号也发生改变)
二、Xpath的提取
1. xpath的思想是通过路径以及标签属性来寻找元素
2. xpath的具体提取方式
1. 属性
//*[@class='dog']
2. 文本
//*[text()='要查找的文本']
3. contains模糊查询
//*[contains(@class,'baidu')]
4. starts-with以什么开始
//*[starts_with(text(),'baidu')]
5. and
//*[@class='dog' and @id='234']
6.上下级关系
//*[@class='dog']/../../div[3]
三、符号含义
- .. 代表 父级节点
- / 代表 进入子级节点
- / 代表 根目录
- // 代表 任意位置
- *代表 任意元素