绝对路径选择

从根节点开始的,到某个节点,每层都依次写下来,每层之间用 / 分隔的表达式,就是某元素的 绝对路径
  • Xpath : /html/body/div
  • CSS : html>body>div

相对路径选择

选择所有div元素里面的子节点p
  • Xpath : //div//p
  • CSS :
    1. 选择直接子元素(父元素是div的p元素)div>p
    2. 选择后代子元素(div元素里的所有p元素)div p

通配符*

选择所有div节点的所有直接子节点
  • Xpath : //div/*
  • CSS : div>*

根据属性选择

选择所有class为a的b元素
  • Xpath : //b[@class='a']
  • CSS : .a
选择style属性为color的所有元素
  • Xpath : //*[@style='color']
  • CSS : [style='color']
选择a属性包含b的所有元素
  • Xpath : //*[contains(@a,'b')]
  • CSS : [a*='b']
选择a属性开头为b的所有元素
  • Xpath : //*[starts-with(@a,'b')]
  • CSS : [a^='b']
选择a属性结尾为b的所有元素(xpath2.0语法,浏览器不支持)
  • Xpath : //*[ends-with(@a,'b')]
  • CSS : [a$='b']
选择a属性包含a1,b属性开头b1,c属性结尾为c1的d元素
  • CSS : d[a*='a1'][b^='b1'][c$='c1']

按次序选择元素

选择父元素为div中的p类型第2个子元素
  • Xpath : //div/p[2]
  • CSS : div p:nth-child(2)
选择父元素为div的第2个子元素
  • Xpath : //div/*[2]
  • CSS : div :nth-child(2)
选取p类型倒数第2个子元素
  • Xpath : //p[last()-1]
  • CSS : p:nth-last-child(2)
选择a元素的第n个p子节点
  • CSS : a p:nth-of-type(n)
选择a元素的倒数第n个p子节点
  • CSS : a p:nth-last-of-type(n)
选择a元素的偶数子节点
  • CSS : a p:nth-of-type(n)
选择a元素的奇数子节点
  • CSS : a :nth-child(even)
选择a元素的p类型的偶数子节点
  • CSS : a p:nth-of-type(even)
选择a元素的p类型的奇数子节点
  • CSS : a p:nth-of-type(even)

按范围选择元素

选取option类型第1到2个子元素
  • Xpath : //option[position()<=2]
选择class属性为a的前3个子元素
  • Xpath : //*[@class='a']/*[position()<=3]
选择class属性为a的后3个子元素
  • Xpath : //*[@class='a']/*[position()>=last()-2]

组选择

选所有class为a的元素,和所有id为b的元素
  • Xpath : //*[@class='a'] | //*[@id='b']
  • CSS : .a , #b

根据子节点选择父节点

父节点没有特征,但子节点有特征时,可通过子节点定位父节点
查找后2代元素包含a元素的节点
  • Xpath : //a/../..

兄弟节点选择

选择 class 为 a 的元素的所有后续兄弟节点
  • Xpath : //*[@class='a']/following-sibling::*
  • CSS : .a ~ *
选择 class 为 a 的元素的所有前置兄弟节点
  • Xpath : //*[@class='a']/preceding-sibling::*
  • CSS : 不支持

最新文章

  1. ICollection
  2. Volley用法
  3. HDU 5640 King&#39;s Cake
  4. WebForm Repeater的事件、后天数据展示--2017年1月8日
  5. dataset 用法(3)
  6. WPF命中测试示例(一)——坐标点命中测试
  7. CC攻击网站和游戏如何针对性预防?
  8. 手把手的SpringBoot教程,SpringBoot创建web项目(五)
  9. 数据结构-自平衡二叉查找树(AVL)详解
  10. MySQL基于GTIDs的MySQL Replication
  11. 可变参数函数(stdarg.h)的使用
  12. openstack网络基础:网络叠加模式VLAN、VxLAN、GRE
  13. java钉钉通讯录同步
  14. HDFS简单测试
  15. Python&#160;一键commit文件、目录到SVN服务器
  16. servlet-servlet的简单认识——源码解析
  17. linux下mysql多实例安装
  18. for each in for in 与for of
  19. 【SQL】小心在循环中声明变量——浅析SQL变量作用域
  20. OpenCv 人脸识别 基础

热门文章

  1. Use w3m as Web Browser
  2. Greenplum 6安装指南(CentOS 7.X)
  3. eclipse选中参数高亮显示设置
  4. SpringBoot开发十二-账号设置
  5. miniFTP项目集合
  6. miniFTP项目实战四
  7. 题解 e
  8. 阿里云视频点播获取视频点播的video信息
  9. Specification排序orderby
  10. ansible 常用模块总结