如何使用CasperJS findOne函数与两个或多个选择器
How to use CasperJS findOne function with two or more selectors?
对不起..这个算术更新..
元素被认为是一个,但发现两个或更多..对不起..:)
<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。
我想知道如何选择最后一个元素。
替换它:
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 有一个类时才起作用的div[class="rd_ft"]
。 如果您的div 具有 1 个以上的类,则需要使用类选择器对其进行测试.
如下所示: div.rd_ft
基本上,你会想要使用它:
findOne('div.rd_ft div[id="prev_next"] a[id="rd_prev"]')
相关文章:
- jquery IE7中的第n个选择器
- 如何在datetimepicker中使用两个验证器
- 如何将返回的值应用于多个不同位置的多个选择器
- 使两个编辑器在自动绘制时大小相同
- 只选择两个选择器中的一个
- 如何制作一个具有多个选择器的jQuery插件,在每个选择器上分别进行匹配
- 如何同步两个筛选器
- CKEditor-如何在两个编辑器中一起使用高级内容过滤器和小部件
- jquery自动更新两个选择字段
- jQuery验证插件-比较两个选择下拉列表的自定义方法
- jQuery结合了多个选择器
- 如何使用replaceWith()一次替换多个选择器
- jQuery显示/隐藏仅适用于第一个选择器
- 如何使用CasperJS findOne函数与两个或多个选择器
- 如何基于两个选择器查找元素
- Jquery 委托事件仅在两个选择器之一上工作
- 这两个选择器之间的区别
- Jquery selectbox删除所有选项,除了两个(选择器变量名)
- 如何让Jquery比较两个选择器
- 不能组合两个选择器