如何获取复杂xpath查询的以下兄弟

时间:2018-02-21 08:48:04

标签: xpath scrapy

我有一个复杂的html,我需要检查一个子节点,然后才知道我是否可以得到兄弟姐妹。例如:

<div class="test">
  <div>
    <a name="notme">
  </div>
</div>
<table>...<a> </table>
<div class="test">
  <div>
    <a name="pickme">
  </div>
</div>
<table>...<a> </table>

我需要从包含<div>

<a name="pickme">后面的表格中获取所有内容

这是我现在拥有的xpath:

 response.xpath('(//div[@class="test"]//a[@name="pickme"])/following-sibling')

所以基本上我寻找一个div,里面有一个<a>,里面有正确的名字。一旦我找到<div>,我就会得到它的下一个兄弟并检查它。 如何告诉xpath将“follow-sibling”引用到<div>而不是<a>

1 个答案:

答案 0 :(得分:2)

选择a而不是a并检查XPath谓词中是否存在following-sibling,然后您可以在路径中轻松添加//div[@class="test"][.//a/@name="pickme"]/following-sibling::table 轴:

.Get<T>()