1.xpath简介
表达式 说明
/bookstore/book[1] 选取属于bookstore子元素的第一个book元素
/bookstore/book[last()] 选取属于bookstore子元素的最后一个book元素
/bookstore/book[last()-1] 选取属于bookstore子元素的倒数第二个book元素
//title[@span="aa"] 选取所有title元素,且这些元素拥有值为span = aa的属性
/bookstore/book[sale>30] 选取属于bookstore子元素的所有book元素,且销售量大于30
nodename 选取此节点的所有子节点
/ 从根节点开始选取
// 从匹配的当前节点中选取,不考虑其位置
. 选取当前节点
.. 选取当前节点的父节点
@ 选取属性
2.举例说明(以百度搜索框为例)
在页面id和name的值是唯一的
(1)百度搜索框
(2)百度的导航栏(最后一个,$x("//*[@id='s_tab']//a[last()]"))
3.css selector 定位
例子
.class .info 选择class= "info"的所有元素
#id #info 选择id ="info"的所有元素
element p 选择所有<p>元素
* * 选择所有元素
element,element div,p 选择所有<p>和<div>的元素
element element div p 选择所有<div>元素内部的所有<p>的元素
element > element div>p 选择父元素为<div>元素的所有<p>的元素
element + element div+p 选择紧接在<div>元素之后的所有<p>的元素
[ attrubite] target 选择带有target熟悉的所有元素
[attrubite =value] [attrubite =aa] 选择 attrubite =“aa”的所有元素
nth:child(n) p:nth-child(2) 选择属于其父元素的第二个子元素的每个<p>元素
element1~element2 p~ul 选择前面有<p>元素的每个<ul>元素
以百度搜索框为例
(2)百度的导航栏(定位资讯,在此要注意子元素的父元素,以及其子元素的第几个)
如果是最后一个元素,定位方式为