八. Xpath语法

1. xpath节点选择

路径表达式含义举例结果
nodename选取此节点的所有子节点div选取div的所有子节点。
/从根节点开始选取,绝对路径。/div从根节点开始选取div。
//选取节点,而不考虑他们的位置,相对路径。//div选取div。
.选取当前节点暂无暂无。
..选取当前节点的父节点暂无暂无。
@选取属性@class选取名为class的所有属性。
*匹配所有元素节点暂无暂无。
实战例子结果
/div/a[1]选取div子元素的第一个a元素
//li[@id]选取所有含id属性的li元素
//li[@class=”info”]选取所有含class=“info”的li元素
div//h2选取属于div元素的后代的所有h2元素
h2/text()选取所有h2元素里面的文本信息
string(.)选取某元素中含嵌套的所有文本内容,例如:html.xpath(‘//div’)[0].xpath(‘string(.)’)。另外,返回结果的格式不再是list,而是’lxml.etree._ElementUnicodeResult’,可直接使用str类的操作,例如:sel.xpath(‘string(.)’).strip()。
string(arg)选取指定arg中含嵌套的所有文本内容,例如:html.xpath(‘string(//div)’)。返回结果的格式同上。
//div[starts-with(@class,”article”)]选取class属性以article开头的所有div元素
position()选取对应位置的元素。例如:html.xpath(‘//div[position()<=2]’)
last()选择对应位置的最后一个元素。例如:html.xpath(‘//div[last()]’)
    原文作者:橄榄的世界
    原文地址: https://www.jianshu.com/p/00c21ecae4eb
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞