我正在尝试通过 XPath 读取网页的特定部分。该页面的格式不是很好,但我无法更改...
<root>
<div class="textfield">
<div class="header">First item</div>
Here is the text of the <strong>first</strong> item.
<div class="header">Second item</div>
<span>Here is the text of the second item.</span>
<div class="header">Third item</div>
Here is the text of the third item.
</div>
<div class="textfield">
Footer text
</div>
</root>
我想提取各种项目的文本,即标题 div 之间的文本(例如,“这是第一项的文本。”)。到目前为止,我已经使用了这个 XPath 表达式:
//text()[preceding::*[@class='header' and contains(text(),'First item')] and following::*[@class='header' and contains(text(),'Second item')]]
但是,我不能硬编码结束项目名称,因为在我想抓取的页面中,项目的顺序不同(例如,“第一项”可能跟在“第三项”之后)。
任何有关如何调整我的 XPath 查询的帮助将不胜感激。