You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

lxml.html中find方法与xpath方法使用相同XPATH表达式报错不一致的问题咨询

lxml.html中find方法与xpath方法使用相同XPATH表达式报错不一致的问题咨询

我目前使用的环境是 CPython 3.12.6、lxml 5.3.1,系统是 Windows 11 Pro 23H2 x64。

我遇到一个奇怪的问题,下面这段 Python 代码会抛出异常:

tree.find(".//table[contains(@class, 'wikitable')]//tr")

对应的报错信息是:

SyntaxError: invalid predicate

但有意思的是,换成下面这段代码就完全正常运行:

tree.xpath(".//table[contains(@class, 'wikitable')]//tr")

我实在搞不懂为什么会这样——都是用的 lxml.html 库,同样的 XPATH 表达式,在同一个 lxml.html.HtmlElement 对象上调用 .find() 就报错,调用 .xpath() 却能成功。这两个方法难道不应该是兼容的吗?

备注:内容来源于stack exchange,提问作者Ξένη Γήινος

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.14 10:48:10