xpath语法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了xpath语法相关的知识,希望对你有一定的参考价值。

xpath是一种元素定位语言,可以用来定位html中的元素。


xpath会用到的符号:

  • // 以匹配的方式选择元素,只能用在开头,如//path,选取页面中的path元素

  • / 选取节点

  • [] 封装选择条件或属性或位置,如[1]表示选择第一个元素;[last()]表示选择最后一个元素;[position()<3]代表选择前两个元素

  • @ 用在属性名前,肯定会写在[]里。如:[@id=‘abc‘],表示选择属性名为id的值为abc的元素

  • * 选择所有元素,一般用在//后,如//*[@id=‘abc‘],表示选择元素名名任意,属性名为id的值为abc的元素。如@*可以表示任意属性

  • and 可以用来匹配多个条件,且的含义,如//input[@id=‘kw‘ and @name=‘wd‘]

  • or 可以用来匹配多个条件,或的含义

  • | 用来选取多个元素,如//path1|path2,表示选择页面中的path1和path2元素

  • contains(),该函数可以用来匹配包含某部分内容,如//div[contains(@id,‘layui-layer‘)],表示id属性内容包含layui-layer的div元素

  • text(),该函数可以用来匹配元素中间的文本,特别适合超链接,按钮。如//*[text()=‘White list‘],表示文本为White list的任何元素


xpath的匹配分为路径匹配属性匹配,以及他俩的组合,如:

路径匹配:

1.绝对路径:/html/body/div[4]/div[4]/link,绝对路径必须从html开始往下找

2.相对路径://div[4]/div[4]/link,某一个元素下,含有第4个div,这个div下也含有第4个div,它下面的link元素


元素匹配:如//input[@id=‘kw‘ and @name=‘wd‘],元素也可以绝对,但没人会那么用。

路径和元素组合匹配,如绝对的://div[4]/div[@id=‘wrapper‘]/link,相对的:/html/body/div[4]/div[@id=‘wrapper‘]/link

本文出自 “我的博客” 博客,请务必保留此出处http://zifzyu.blog.51cto.com/3168463/1847476

以上是关于xpath语法的主要内容,如果未能解决你的问题,请参考以下文章

xpath 语法

Xpath语法-爬虫

XPath语法

爬虫进阶数据提取-lxml模块(万能操作)

Python Xpath语法

XML——XPATH语法介绍