对不起.. 这个ariticle更新..
元素被认为是一个,但发现两个或更多...抱歉.. :))
<div class="rd_ft">
<div id="prev_next">
<a id="rd_prev" href="aaaa.html"></a>
</div>
</div>
<div class="rd_ft">
<div id="prev_next">
<a id="rd_prev" href="bbbb.html"></a> <--- it will select this element only
</div>
</div>
...........
var con_prev =
this.evaluate(function(){
return __utils__.findOne('div[class="rd_ft"] div[id="prev_next"] a[id="rd_prev"]').getAttribute('href');
});
它不应该使用此代码..
当前选择的数据是aaaa.html。
我想知道如何选择最后一个元素。
答案 0 :(得分:1)
替换这个:
findOne('div[class="rd_ft"] div[id="prev_next"] a[id="rd_prev"]')
用这个:
findOne('div[class="rd_ft"], div[id="prev_next"], a[id="rd_prev"]')
第一个版本将搜索看起来像这样的元素:
<div class="rd_ft">
<div id="prev_next">
<a id="rd_prev"></a> <--- it will select this element only
</div>
</div>
第二个版本将选择3个单独的元素:
<div class="rd_ft"></div>
<div id="prev_next"></div>
<a id="rd_prev"></a>
更新
我刚刚看了你的问题,看来你可能会问错误的问题。
如果您想选择<a>
元素作为其他两个div的子元素,那么如果您的div有超过1个类,则它将无效。您正在测试div[class="rd_ft"]
,只有当div具有一个类时才会有效。如果您的div有超过1个类,则需要使用类选择器.
进行测试,如下所示:div.rd_ft
findOne('div.rd_ft div[id="prev_next"] a[id="rd_prev"]')