首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >选择父节点的前4个子节点(相同属性)

选择父节点的前4个子节点(相同属性)
EN

Stack Overflow用户
提问于 2019-08-13 17:06:32
回答 1查看 38关注 0票数 1

如何选择父节点的前4个子节点(相同的属性),如果有3个以上的子节点与我想选择的属性相同的子节点?

我试过这个代码,但是,它不能工作:

代码语言:javascript
运行
复制
//div[@class='content-page minified']/*[self::h2 or p[:2]]

我的代码:

代码语言:javascript
运行
复制
<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>标签。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-08-13 19:25:16

要使用lxml获取第一个<h2>标记之后的前两个<p>标记,请尝试

代码语言:javascript
运行
复制
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]")
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57474461

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档