Xpath定位
<?xml version="1.0" encoding="UTF-8"?> <bookstore> <book> <title lang="eng">Harry Potter</title> <price>29.99</price> </book> </bookstore>
<bookstore>:文档节点
<title>:元素节点
lang="eng":属性节点
一.节点间的关系
1.父节点
每个元素以及属性都有一个父节点。上面XML中,book是title和price的父节点。
2.子节点
一个元素节点可以有多个子节点。上面的XML中,title和price是book的子节点。
3.同胞节点
拥有相同父节点的节点。上面的XML中,title和price是同胞节点。
4.先辈节点
父节点及以上祖先节点。
5.后代节点
子节点及以下后代节点。
二.Xpath定位语法
1.绝对路径定位元素
/html/boby/div/input[@value='xx']
"/"表示根节点。页面元素发生变动时,绝对路径定位可能会发生变化。
2.相对路径定位元素
//input[@value='xx']
"//"表示从匹配选择的当前节点开始选择文档中的节点。只要input标签以及value值不变,仍可定位到元素。
3.索引号定位元素
//input[2]
上述表示定位页面中的第二个input标签。
例:
定位最后一个div下的超链接
//div[last()]/a
4.页面元素属性值定位元素
//img[@alt='div1']
上述表示定位img中值为div1属性alt的元素。前提条件确保属性值唯一。
5.模糊属性值定位元素
//img[starts-with(@alt,'div')] 查找属性alt的属性值以div1关键字开始的元素
//img[contains(@alt,'img')] 查找属性alt的属性值包含img关键字的元素
6.页面元素的文本定位元素
//a[text()='xx'] 精确匹配
//a[contains(text().'xx')] 模糊匹配

浙公网安备 33010602011771号