【发布时间】:2018-07-27 11:56:28
【问题描述】:
这是一个棘手的场景:
#target ~ p {
background: green;
color: white;
}
<h1 id="target">Title</h1>
<span>Some description</span>
<p>Yes</p>
<p>Yes</p>
<h1>Another Title</h1>
<span>Some description</span>
<p>No</p>
<p>No</p>
xpath 是否允许选择同级但停在某个点?我想选择第一个<h1> 下的两个<p>s,而不是第二个<h1> 下的那些。修改 HTML 是不可能的,因为我正在做一些网页抓取,并且我正在寻找一种从某个标题下的段落中提取数据的快速而肮脏的方法:
paragraphs = target.select("~ p")
【问题讨论】:
-
您的查询不明确“我想选择第一个
<h1>下的两个<p>s,但第二个<h1>下的一个”。 -
@chriskirknielsen 错字。它应该说“但不是那些”。基本上,只应选择示例中说“是”的那些。
-
你确定它不包含父 div,所以它可能更容易定位吗?
标签: python css xpath beautifulsoup