gpt4 book ai didi

python - 为什么 lxml 找不到 Chrome 检查器给出的 xpath?

转载 作者:太空狗 更新时间:2023-10-30 00:49:07 24 4
gpt4 key购买 nike

这是我的代码:

from lxml import html
import requests

page = requests.get('https://en.wikipedia.org/wiki/Nabucco')
tree = html.fromstring(page.content)
title = tree.xpath('//*[@id="mw-content-text"]/table[1]/tbody/tr[1]/th/i')
print(title)

问题:print(title) 打印“[]”,空列表。我希望这会打印“Nabucco”。 XPath 表达式来自 Chrome 检查器的“复制 XPath”功能。

为什么这不起作用? lxml 和 Chrome 的 xpath 引擎之间有分歧吗?或者我错过了什么?我对 python、lxml 和 xpath 有点陌生。

最佳答案

那是因为 tbody 标签。你在浏览器中看到它,因为标签是 inserted by the browser. requests 不是浏览器,只是按原样下载页面源:

替换:

//*[@id="mw-content-text"]/table[1]/tbody/tr[1]/th/i

与:

//*[@id="mw-content-text"]/table[1]/tr[1]/th/i

关于python - 为什么 lxml 找不到 Chrome 检查器给出的 xpath?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33711514/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com