我想单步执行 sibX
节点来获取标签。奇怪的是,我可以在 sib0
下获得标签 child0x
,但不能获得后续 sib 的标签。
我尝试从 sib0
执行 preceding-sibling::
和 ancestor::
,但 XPath 始终返回空。
<div class="parent">
<div> <!-- *** empty div starts here *** -->
<div class="sib0">
<label class="child00">child00</label>
…
<label class="child0N">child0N</label>
</div>
<div class="sib1">
<label class="child10">child10</label>
…
<label class="child1N">child1N</label>
</div>
<div class="sib2">
<label class="child20">child20</label>
…
<label class="child2N">child2N</label>
</div>
</div> <!-- *** empty div ends *** -->
<div>
最佳答案
您可以在 XPath 中使用 contains 来访问其类中包含 'sib'
的所有节点。
response.xpath('//*[contains(@class, "sib")]//text()').getall()
您也可以对'child'
做同样的事情:
response.xpath('//*[contains(@class, "child")]/text()').getall()
关于python - 如何对没有属性的 div 内的节点进行 XPath 处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59049331/