pythonxpath定位_一文搞懂 XPath 定位

"XPath是一种在XML文档中查找信息的语言,常用于爬虫和自动化测试。通过路径表达式选取节点,如选取具有特定属性的元素。XPath表达式包括元素、属性、谓语、通配符等,例如:`//*[@id="images"]`、`//*[contains(@id,'kw')]`。在浏览器中,可以使用Chrome开发者工具获取和验证XPath。熟练掌握XPath能提升数据提取效率。"
摘要由CSDN通过智能技术生成

一文搞懂XPath 定位

XPath (XML Path Language) 是一门在 XML 文档中查找信息的语言,可用来在 XML 文档中对元素和属性进行遍历。

XPath定位在爬虫和自动化测试中都比较常用,通过使用路径表达式来选取 XML 文档中的节点或者节点集,熟练掌握XPath可以极大提高提取数据的效率。

因为XPath解析数据,是基于元素(Element)的树形结构,所以学习XPath前,先了解一下html的结构及常用标签。

基本标签

标题:`

、`

段落:

链接:

图像:

样式:

列表:`无序列表

  • 、有序列表
  1. 、列表项
  2. `

    块:`

    `

    脚本:

    注释:

    XPath表达式学习

    常用表达式

    常用案例

    谓语表达式

    谓语用来查找某个特定的节点或者包含某个指定值的节点,被嵌在方括号中。

    通配符

    XPath常用的定位方式:

    1.元素属性,快速定位,唯一属性: //*[@id="images"]

    2.层级与属性结合,解决没有属性问题://div[@id="images"]/a[1]

    3.属性与逻辑结合,解决多个属性重名问题:

    //*[@id="su" and @class="bg s_btn" ]注意,表达式里的下标是从1开始的。

    绝对定位以/开头,依赖页面的元素的顺序和位置,相对定位以//开头,不依赖页面元素顺序和位置,根据条件进行匹配,优先使用相对定位。

    学习XPath本质就是掌握各种表达式的技巧,除了上述说到方法外,还有一些特别的定位方式:

    4.查找id属性的值包含"kw"的元素: //*[contains(@id,'kw')]

    5.查找⽂本⾥包含"新闻"的元素: //*[contains(text(),'新闻')]

    6.查找class属性中开始位置包含's_form_wrapper'关键字的元素:

    //*[starts-with(@class,'s_form_wrapper')]

    7.使⽤多个相对路径去定位⼀个元素⽤//分开:

    //div[@class=‘formgroup’]//input[@id=‘user-message’]

    8.轴定位:

    轴定位,使用::表示

    查找id="head"元素后⾯标签名为input的第一个元素

    //*[@id="head"]//following::input[1]

    如何在浏览器中查找和验证XPath?

    1.使用Chrome浏览器的开发者工具,可以快速获取XPath表达式:

    点击选择光标,选择页面上的元素位置,在控制台右键选择Copy XPath,表达式就复制到粘贴板中了。

    获取到的XPath路径://*[@id="su"]

    获取full XPath:/html/body/div[1]/div[1]/div[5]/div/div/form/span[2]/input

    2.验证表达式:

    按键“Ctrl+F”,在控制台中输入需要检查的XPath路径,对应的元素会有的颜色标识。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值