xpath中的坑
使用xpath易错点
1、//的误用
通过xpath得到的elem对象,不能在开头使用//进行定位。在开头使用//是对原elem进行xpath
举个例子:
from lxml import etree
html = """<html>
<body>
<li><i>1<i></li>
<li><i>2<i></li>
<li><i>3<i></li>
<li><i>4<i></li>
<li><i>5<i></li>
<li><i>6<i></li>
<li><i>7<i></li>
<li><i>8<i></li>
</body>
</html>"""
html = etree.HTML(html)
lis = html.xpath('//li')
# 打印第一个li节点
print(etree.tostring(lis[0]).decode())
# 在开头使用//取到的文本
print(lis[0].xpath('//i/text()'))
# 去掉开头//取到的文本
print(lis[0].xpath('i/text()'))
print(lis[0].xpath('i//text()'))
# 直接对html使用
print(html.xpath('//i/text()'))
"""
运行结果
<li><i>1<i/></i></li>
['1', '2', '3', '4', '5', '6', '7', '8']
['1']
['1']
['1', '2', '3', '4', '5', '6', '7', '8']
"""
如果觉得本文有用,万望看官慷慨解囊,不吝打赏,激励本编提供更加优质的内容
[点击进行打赏](https://www.cnblogs.com/52note/p/16507868.html)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix