高级参考:https://blog.csdn.net/wudaoshihun/article/details/82226122

举例:

 1 <!DOCTYPE html>
2 <html>
3 <head>
4 <meta charset="utf-8">
5 <title></title>
6 </head>
7 <body>
8 <div class="bookstore">
9 <div class="book">
10 <p class="title">张三</p>
11 <p class="price">29.9</p>
12 <p><a href="https://www.baidu.com">百度一下</a></p>
13
14 </div>
15 <div class="book1">
16 <p class="title">李四</p>
17 <p class="price">36.9</p>
18 <p><a href="https://www.jd.com">京东</a></p>
19
20 </div>
21 <div class="book2">
22 <p class="title1" a="a">王五</p>
23 <p class="price1">30</p>
24 <p><a href="https://www.taobao.com">淘宝</a></p>
25 </div>
26
27 </div>
28 </body>
29 </html>
30

选取节点:

/       ......从根节点选取。

----->>:    /html/body/div/div/p

----->>:

张三
29.9
百度一下
李四
36.9
京东
王五
30
淘宝

//      ......从匹配选择的当前节点选择文档中的节点,而不考虑它们的位置。

----->>:    //p

----->>:

张三
29.9
百度一下
李四
36.9
京东
王五
30
淘宝

@       ......选取属性。

----->>:   /html/body/div/div/p[@class='title']

----->>:

张三

----->>:  /html/body/div[@class='bookstore']/div[@class='book']/p

----->>:

张三
29.9
百度一下

谓语

选取元素:

选取属于 子元素的第一个元素:

  /html/body/div[@class='bookstore']/div[@class='book']/p[1]

--->>
张三 选取属于 子元素的最后一个 元素: /html/body/div[@class='bookstore']/div[@class='book']/p[last()]
--->>
百度一下 选取属于子元素的倒数第二个元素: /html/body/div[@class='bookstore']/div[@class='book']/p[last()-2]
--->>
张三 选取最前面的两个属于元素的子元素的元素:
/html/body/div[@class='bookstore']/div[@class='book']/p[position()<3]
--->>
张三
29.9 /html/body/div[@class='bookstore']/div[@class='book']/p[position()<2]
--->>
张三

属性选择:

选取所有拥有属性的 title 元素:
//p[@class="price"]
--->>
29.9
36.9 选取所有p>30的元素
//div[p>30]
--->>
李四
36.9
京东 选取元素,且其中的 price 元素的值须大于 30:
/html/body/div/div[p>30]/p[@class="price"]
--->>
36.9

选取多个

选取所有 title 和 price 元素。
//p[@class ="price"]|//p[@class ="title"]
--->>
29.9
36.9
张三
李四

选取 book1、book2 元素的 class 元素
//div[@class = "book"]/p|//div[@class = "book1"]/p
--->>
张三
29.9
百度一下
李四
36.9
京东

Xpath语法学习记录的更多相关文章

  1. Xpath语法学习

    贴几个我学习Xpath的参考 1 基本使用的参考 XPath学习:基本语法(一) 2 较为详细且清晰例子参考,推荐 XPath 详解,总结 3 详细语法参考 Xpath语法格式整理 4 官方参考 XP ...

  2. SQL语法学习记录——JOIN

    学习内容参考来源:www.runoob.com JOIN准备 --为了方便练习,在数据库中创建演示数据: create database TEST; use TEST ; ---------- go ...

  3. Python语法学习记录之tuple该如何使用?

    一.介绍 dict 的用法比较简单,它可以存储任意值,并允许是不同类型的值,下面实例来说明: 下面例子中 a 是整数, b 是字符串, c 是数组,这个例子充分说明哈希数组的适用性. 每一个元素是pa ...

  4. Java 静态内部类与非静态内部类 学习记录.

    目的 为什么会有这篇文章呢,是因为我在学习各种框架的时候发现很多框架都用到了这些内部类的小技巧,虽然我平时写代码的时候基本不用,但是看别人代码的话至少要了解基本知识吧,另外到底内部类应该应用在哪些场合 ...

  5. Python爬虫利器三之Xpath语法与lxml库的用法

    前面我们介绍了 BeautifulSoup 的用法,这个已经是非常强大的库了,不过还有一些比较流行的解析库,例如 lxml,使用的是 Xpath 语法,同样是效率比较高的解析方法.如果大家对 Beau ...

  6. UWP学习记录11-设计和UI

    UWP学习记录11-设计和UI 1.输入和设备 通用 Windows 平台 (UWP) 中的用户交互组合了输入和输出源(例如鼠标.键盘.笔.触摸.触摸板.语音.Cortana.控制器.手势.注视等)以 ...

  7. Python学习记录day5

    title: Python学习记录day5 tags: python author: Chinge Yang date: 2016-11-26 --- 1.多层装饰器 多层装饰器的原理是,装饰器装饰函 ...

  8. Vue学习记录第一篇——Vue入门基础

    前面的话 Vue中文文档写得很好,界面清爽,内容翔实.但文档毕竟不是教程,文档一上来出现了大量的新概念,对于新手而言,并不友好.个人还是比较喜欢类似于<JS高级程序设计>的风格,从浅入深, ...

  9. mondb 常用命令学习记录

    mondb 常用命令学习记录 一.MongoDB 下载安装 MongoDB官网 提供了可用于 32 位和 64 位系统的预编译二进制包,你可以从MongoDB官网下载安装,MongoDB 预编译二进制 ...

随机推荐

  1. 使用tasker定时打开一耳光应用

    比如现在要做一个:到9点钟自动打开"酷狗音乐"1.任务→点击"+"→填写"打开酷狗音乐"→点击"√"2.任务编辑→点击& ...

  2. python爬取疫情数据存入MySQL数据库

    import requests from bs4 import BeautifulSoup import json import time from pymysql import * def mes( ...

  3. 每日学习——C++习题

    1.题目要求:求圆的面积,数据成员为半径r,定义为私有成员,要求用成员函数实现在键盘上输入圆半径,计算圆面积.输出圆面积三个功能,要求三个成员函数在类内声明,在类外定义 //定义类 class Cir ...

  4. 用java代码遍历excel文件并回显

    今天需要完成282个指标,分析后发现好多都是可复用的字段和方法,生成的dao类也是很多重复的代码,所以写下了简单的自动化遍历excel的test方法, excel业务逻辑如下,用了 HSSFSheet ...

  5. Apache AB(1) - 快速使用

    前言 Apache AB的优缺点 十分快捷.简单 只适用HTTP协议 该工具更加适用于单接口性能压测 参数化实现麻烦:被测接口没有太多参数化 不支持场景化,不能将上下文串联起来 适用于快速开发小的场景 ...

  6. Jmeter系列(20)- 录制控制器

    作用:相当于对录制的脚本进行分组存放,放在同一个线程组里面:录制脚本的时候,选择线程组下面想要存放的录制控制器中

  7. Ubuntu18.04 安装Tomcat 8.5

    下载tomcat,登陆官网:https://tomcat.apache.org/ 点击tar.gz后,弹出这个不大懂这是什么? tomcat要求的jdk版本 解压tar包 sudo tar zxvf ...

  8. 『Python』进程同步

    1. Lock(互斥锁) 是可用的最低级的同步指令.Lock处于锁定状态时,不被其他的线程拥有. from multiprocessing import Process, Value, Lock de ...

  9. Tidb使用

    一.为什么使用Tidb 最近发现tidb在互联网圈大火,新生代的一个NewSql数据库 具体链接可以访问pincap的官网  https://www.pingcap.com/docs-cn/v3.0/ ...

  10. CF990G-GCD Counting【dfs】

    正题 题目链接:https://www.luogu.com.cn/problem/CF990G 题目大意 给出一棵有点权的树,对于每个\(k\)求有多条路径的点权\(gcd\)为\(k\) \(1\l ...