元素定位-xpath
xpath其实就是一个path(路径),一个描述页面元素位置信息的路径,相当于元素的坐标
xpath基于XML文档树状结构,是XML路径语言,用来查询XML文档中的节点
- 绝对定位
从根开始找–/根目录
/html/body/div[2]/div/form/div[5]/button
缺点:一旦页面结构发生变化(比如重新设计时,路径少了两节),该路径也随之失效,必须重新写
- xpath相对路径:只要不是/开始的,就是相对路径
//*[@name=‘phone’]
路径解释:
(1)// 匹配指定节点,不考虑它们位置(/则表示绝对路径,从根下开始)
(2)*
通配符,匹配任意元素节点。
(3)@ 选取属性
(4)[] 属性判断条件表达式
相对定位优点:灵活、方便、耦合性低
xpath元素定位示例
可用开发者工具确认元素定位是否唯一:
xpath元素定位示例如下:
//input[@maxlength='100']
复合定位如下所示:
//input[@maxlength='100' and @autocomplete='off']
定位到“新闻”文字如下所示:
//a[text()='新闻']
定位到包含“闻”字如下所示:
//a[contains(text(),'闻')]
//a[contains(text(),'hao123')]
以下xpath能唯一定位到百度搜索栏:
以下xpath能唯一定位到“新闻”文字: