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)
只需取消条件:
//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)