Python-Xpath详解

网页插件: XPath Helper

视频推荐: 慕课网 web端功能自动化定位元素

  1. 认识浏览器默认xpath,ctrl+f 调出浏览器输入xpath

  2. xpath 语法

1
2
3
4
5
6
7
8
9
<div id="nav-bar" class="nav-bar"> 导航 </div>

//tag-name[@attribute='value']

Eg.

//div[@id='nav-bar'] # id 选择器
//div[@class='nav-bar'] # 类选择器

  1. / // 的区别

/ : 元素是上一级节点的子节点中的一个,不能跳级

//: 下级任何子节点或者任何嵌套子节点中的一个,可以跳级

  1. 如何构建一个有效的xpath
1
灵活使用 / 和 //
  1. 使用text 定位
1
//tag-name[text()='value']
  1. 平级节点或父级节点定位

    1
    //tag-name[text()='value']//parent::parent-tag-name//preceding-sibling::tag-name/ 
  2. 获取xpath 时注意源码获取 目标xpath,因为渲染问题导致查找出错

  3. 获取 a href

    1
    2
    ···a/@href # 获取 a 的 href 值
    ···a/text() # 获取 a 的文本值