如何选择具有3个以上子节点的前4个子节点(相同的属性(,这些子节点也具有相同的属性,我想选择?
我已经尝试过这段代码,但它不起作用:-
//div[@class='content-page minified']/*[self::h2 or p[:2]]
我的代码:
<div class = "content-page minified">
<h2> Company Description </h2>
<p>...</p>
<p>...</p>
<p>...</p>
<p>...</p>
<h2> Mission Description</h2>
<p>...</p>
<ul>...</ul>
<p>...</p>
<h2>Requirements</hs>
<ul>...</ul>
<a class="my child class" href="#">...</a>
<div class="my second child class" href="#">...</div>
</div>
我希望同时选择<h2>
和前 3 个<p>
标签。
要使用 lxml 获取第一个<h2>
标签之后的前两个<p>
标签,请尝试
import lxml.html
str = """
<div class = "content-page minified">
<h2> Company Description </h2>
<p>...</p>
<p>...</p>
<p>...</p>
<p>...</p>
<h2> Mission Description</h2>
<p>...</p>
<ul>...</ul>
<p>...</p>
<h2>Requirements</hs>
<ul>...</ul>
<a class="my child class" href="#">...</a>
<div class="my second child class" href="#">...</div>
</div>
"""
h= tree.xpath("//div[@class='content-page minified']/*['h2'][1]/following-sibling::p[position()<3]")