如何选择父节点中具有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>
标签。
答案 0 :(得分:0)
要使用lxml获取第一个<p>
标记之后的前两个<h2>
标记,请尝试
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]")