原创开发运维

XPath路径写法的学习要点

本文阅读 2 分钟
首页 开发运维 正文

XPath是XML路径语言,经常用作程序中定位XML或HTML文档中某部分标签位置,例如应用于爬虫程序。更多的基础老赵就不赘述了,网上一搜一大把,这里主要记录两点自己的实战心得,以作备忘和分享。
演示代码:

//div[contains(@class,"listing-chapters_wrap")]//li[contains(@class,"wp-manga-chapter")]

一、选取某节点下所有层级(的某元素)

关于/和//的概念,在基本概念中肯定说,但是真到上手用的时候,/很好理解,可以读作‘xx的下一级’,可是,要找‘xx的所有子级后代’时候,搞了半天才发现写上//就是。

二、两个常用的函数text()和contains()

  1. 用text()函数来文本定位位置

    • text()='xxx' 精确定位,引号中的内容需与HTML文档中的文本完全一样
    • contains(text(),'xxx') 模糊定位,HTML文档中的文本,包含引号中的内容即可

2.用contains()函数指定包含某个字符串过滤节点
例如,如果是这样

<div class="demo"></div>

那么我知道可以写xpath //div[@class="demo"],但是如果我的html是

<div class="test demo"></div>
<div class="demo test"></div>
<div class="test demo2"></div>

我只想选出有demo这个class的对象,那应该使用contains()函数了,如下:

//div[contains(@class,"demo")]

或者

//div[contains(@class,"demo") and contains(@class,"test")] #它会取class同时有demo和test的元素

Ps:
你可以在浏览器中打开调试界面后,通过Ctrl+F打开搜索框直接输入Xpath地址搜索或测试自己的Xpath路径代码。
搜索或测试自己的Xpath路径代码

原创文章,作者:平凡老赵,未经允许不得转载,出处:https://www.pfjsb.com/kfyw/xpath-study-point.html
-- 展开阅读全文 --
国际化多语言网站SEO如何告诉Google网页的各语言版本
« 上一篇 06-25
在使用GROUP的Mysql语句中如何使用COUNT(*)过滤条件
下一篇 » 07-06

热门文章

标签TAG