如何使用 XPath 在 DIV 标签内和第一个 H3 标签之前选择 P 标签?



这是我的HTML:

<div class="main">
<p>Abcd</p>
<p>Abcd</p>
<h3>Head 3.1</h3>
<p>Abcd</p>
<h3>Head 3.2</h3>
</div>

我需要使用 XPath 选择<div>标签内和第一个<h3>标签之前的<p>标签。怎么做?

您可以在 xpath 中使用[not(preceding-sibling::h3)]语句来仅获取上面没有h3节点的节点:

> response.xpath("//div/p[not(preceding-sibling::h3)]").extract()
< [u'<p>Abcd</p>', u'<p>Abcd</p>']

最新更新