0

我有以下html:

<div class="stack">
    <h2 class="overflow">
       <img src="http:..">
       text
    </h2>
    <div class="sublist">
        <table>
        ...
        </table>
    </div>

    <h2 class="overflow">
        <a href="http://...">link</a>
    </h2>
</div>

如您所见,.sublist div 总是跟在一个 with 和一些文本之后,就像 div 是 h2 的子列表(h2 是子列表的标题)。另一个包含一个锚标记。

我想获取 div .sublist 之前的所有 h2 标签。

这是我当前的 xpath 子句:

//div[@class="stack"]/h2/*[not(descendant::a)]

我最终得到了不同的元素(a,div,img),但 h2 元素。

4

2 回答 2

1

尝试preceding-sibling

//div[@class="stack"]/div[@class="sublist"]/preceeding-sibling::*
于 2013-05-27T14:26:59.607 回答
1

我想获取 div .sublist 之前的所有 h2 标签。

怎么样:

//div[class="sublist"]/preceding-sibling::h2
于 2013-05-27T14:32:58.010 回答