gpt4 book ai didi

python - xpath当兄弟不是元素时如何获取文本

转载 作者:太空宇宙 更新时间:2023-11-03 17:56:17 24 4
gpt4 key购买 nike

我曾经有过这个表格;

<li>
<span>name:</span>
<p>Seca </p>
</li>

我使用这个 xpath 来获取 seca:

ul/li/span[normalize-space(text())='name:']/following-sibling::p[1]/text())

一切都运行良好。

现在我没有p标签。所以我只有这个:

<li>
<span>name:</span>
Seca
</li>

我应该对代码进行哪些编辑才能立即获取 seca

最佳答案

现在,“Seca”只是 li 元素的另一个子元素 - 因此是 span 元素的后续同级元素。使用

//ul/li/span[normalize-space(text())='name:']/following-sibling::text()

给你

[EMPTY LINE]
Seca
[EMPTY LINE]

您可能想要排除那些仅包含空格的行:

normalize-space(//ul/li/span[normalize-space(text())='name:']/following-sibling::text())

结果将是

Seca

如果您的实际输入包含更多文本节点,请不要忘记将 [1] 添加到表达式中。

<小时/>

请注意,如果实际上没有理由规范 span 的文本内容并仅考虑其直接子文本节点,则表达式可能会容易得多:

//ul/li[span='name:']/text()[2]

关于python - xpath当兄弟不是元素时如何获取文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28401403/

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