敏捷新手在这里。给定输入文本:
<html>
... Lots of html here...
<label class="list_item_title">Yes</label><br /><br />
<div class="list_item">
<div style="width:425px;" class="left"><a href="/xyz">HIT1</a> (2012)</div>
<div style="width:190px;" class="right"></div>
</div>
<div class="list_item">
<div style="width:425px;" class="left"><a href="/abc">HIT2</a> (2012)</div>
<div style="width:190px;" class="right"></div>
</div>
<label class="list_item_title">No</label><br /><br />
<div class="list_item">
<div style="width:425px;" class="left"><a href="/xyz">IGNORE</a> (2012)</div>
<div style="width:190px;" class="right"></div>
</div>
... Lots of html here...
</html>
我想得到HIT1&amp; HIT2。
基本上算法是在标签节点(class =“list_item_title”)之后找到所有A的innerText,其中innerText =“是”
答案 0 :(得分:1)
此XPath表达式适用于您的示例:
//a[preceding::label[1][text()="Yes"]]/text()
它会查找其前一个a
包含label
的所有Yes
并返回其文字()。