Xpath用于查找没有兄弟元素的元素

jam*_*mie 0 html xpath dom xpath-2.0

所以我试图从下面的链接中提取a href位置,但仅提取没有跨度兄弟元素的a元素。我设法弄清楚了Xpath来找到可以做的事,但是我该如何否定呢?我试过使用count()和not(),但似乎无法使它们有效或返回任何内容。

<div class="member">
    <a href="/test1" class="ahrefclass">shouldntfindme</a>
    <span class="evilspan">evilspan</span>
</div>
<div class="member">
    <a href="/test2" class="ahrefclass">findme</a>
</div>
<div class="member">
    <a href="/test3" class="ahrefclass">shouldntfindme</a>
    <span class="evilspan">evilspan</span>
</div>
<div class="member">
    <a href="/test4" class="ahrefclass">findme</a>
</div>
<div class="member">
    <a href="/test5" class="ahrefclass">shouldntfindme</a>
    <span class="evilspan">evilspan</span>
</div>
Run Code Online (Sandbox Code Playgroud)

到目前为止,我的Xpath是

//a[@class="ahrefclass"][../span[@class="evilspan"]]
Run Code Online (Sandbox Code Playgroud)

cho*_*oba 5

只需取消条件:

//a[@class="ahrefclass"][not(../span[@class="evilspan"])]
Run Code Online (Sandbox Code Playgroud)

在这种情况下,相当于

//a[@class="ahrefclass" and not(../span[@class="evilspan"])]
Run Code Online (Sandbox Code Playgroud)