Xpath基本语法
举例元素标签为artical标签
语法 | 说明 |
---|---|
artical | 选取所有artical元素的子节点 |
/artical | 选取根元素artical |
artical/a | 选取所有属于artical的子元素a元素 |
//div | 选取所有div 子元素,无论div在任何地方 |
artical//div | 选取所有属于artical的div 元素,无论div元素在artical的任何位置 |
//@class | 选取所有名为class 的属性的 |
谓语
语法 | 说明 |
---|---|
/artical/div[1] | 选取所有属于artical 子元素的第一个div元素 |
/artical/div[last()] | 选取所有属于artical子元素的最后一个元素 |
/artical/div[last()-1] | 选取所有属于artical子元素的倒数低2个元素 |
//div[@lang] | 选取所有拥有属性为lang的元素 |
//div[@lang=”eng”] | 选取所有div下lang属性为eng的元素 |
/div/* | 选取所有属于div元素的所有子节点 |
//* | 选取所有元素 |
//div[@*] | 选取所有带属性的title元素 |
//div/a | //div/p | 选取所有div元素的a和p 元素 |
//span | //ul | 选取文档中所有span和ul 的元素 |
artical/div/pl | //span | 选取所有div下的pl和文档中所有span |
注意事项:
1) 按照审查元素的写法不一定正确,要按照网页源码的才行
因为不一样,网页源码才是你看到的
2) 浏览器有自带的复制xpath功能,firefox下载firebug插件
3) xpath有c的速度,所以按照[@class=""]准确性较高
CCS选择器语法
语法 | 说明 |
---|---|
* | 选择所有节点 |
#container | 选择id为container的节点 |
.container | 选择所有class包含container的节点 |
li a | 选取所有li 下所有a节点 |
ul + p | 选取ul后面的第一个p元素 |
div#container > ul | 选取id为container的div的第一个ul子元素 |
ul ~p | 选取与ul相邻的所有p元素 |
a[title] | 选取所有有title属性的a元素 |
a[href=”http://baidu.com”] | 选取所有href属性为http://baidu.com的a元素 |
a[href*=”baidu”] | 选取所有href属性值中包含baidu的a元素 |
a[href^=”http”] | 选取所有href属性值中以http开头的a元素 |
a[href$=”.jpg”] | 选取所有href属性值中以.jpg结尾的a元素 |
input[type=radio]:checked | 选择选中的radio的元素 |
div:not(#container) | 选取所有id为非container 的div属性 |
li:nth-child(3) | 选取第三个li元素 |
li:nth-child(2n) | 选取第偶数个li元素 |
参考链接:https://www.jianshu.com/p/b67d0d851c1a
來源:简书