gpt4 book ai didi

xpath - 试图获取两个 h2 标签之间的所有 p 标签文本

转载 作者:行者123 更新时间:2023-12-03 15:58:24 38 4
gpt4 key购买 nike

<h2><span>Title1</span></h2>
<p>text I want</p>
<p>text I want</p>
<p>text I want</p>
<p>text I want</p>
<h2>Second Title I want to stop collecting p tags after</h2>

我可以通过识别 h2 中的文本来获取 p 标签,然后获取 preceeding-sibling::p 但这会将所有 p 标签抓取到 DOM 的末尾。我曾尝试使用“and”选择器来声明开始和结束,但它返回 null。我一定在这里遗漏了一些东西,但我已经坚持了很长一段时间。我无法预测我需要多少个 p 标签,所以在这种情况下,p 元素上的索引号对我没有帮助。

这是我用来获取 h2 之后所有以下 p 标签的 xpath。问题是它将所有 p 标签抓取到 DOM 的末尾。

//span[contains(text(), "Title1")]/ancestor::h2/following-sibling::p

最佳答案

因此,您只想获取位于两个特定 h2 标记之间的所有 p 标记。 xpath 查询正如其名。

//p[
preceding-sibling::h2[span='Title1'] and
following-sibling::h2[.='Second Title I want to stop collecting p tags after']
]

可以通过选择所有 p 来简化查询,其中第一个 h2 元素是起始元素。换句话说,在当前 p 和 header 之间没有其他 h2 previous sibling 。

//p[preceding-sibling::h2[1][span='Title1']]

关于xpath - 试图获取两个 h2 标签之间的所有 p 标签文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18167279/

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