casperjs jquery返回数据为空
我在casperjs中使用了jquery。 但返回数据为空 检查代码,但我不知道 html代码是casperjs jquery返回数据为空,jquery,return,Jquery,Return,我在casperjs中使用了jquery。 但返回数据为空 检查代码,但我不知道 html代码是 <table id="bd_lst" class="bd_lst"> <tr class="notice"> <td class="cate">aaaaa</td> <td class="title"><a href="11111.html">11111</a></td> </tr&
<table id="bd_lst" class="bd_lst">
<tr class="notice">
<td class="cate">aaaaa</td>
<td class="title"><a href="11111.html">11111</a></td>
</tr>
<tr class="notice">
<td class="cate">bbbb</td>
<td class="title"><a href="22222.html">22222</a></td>
</tr>
......................
<tr>
<td class="cate">cccc</td>
<td class="title"><a href="aaa.html">3333</a></td> <== i want return data "aaa.html"
</tr>
<tr>
<td class="cate">ddddd</td>
<td class="title"><a href="bbbb.html">4444</a></td>
</tr>
</table>
var start_link = this.evaluate(function(){
return $("#bd_list tr.notice").last().next().find(".title a").attr("href");
});
开始链接为空
$(“table tr.notice”).last().next().find(“.title a”).attr(“href”)在html javascript中返回“aaa.html”
怎么了?如果只想检查第一个锚定标记的
href
值,请使用以下命令:
$('td.title > a').first().attr('href');
使用casperjs刮取示例DOM:
var casper = require('casper').create();
casper.start('http://my-site.com/examples/casperjs/sample.html', function() {
var start_link = this.evaluate(function(){
return document.querySelector('td.title > a').getAttribute('href');
});
this.echo(start_link);
});
casper.run();
如果要将jQuery与casperjs结合使用,则必须使用
clientScripts
选项使jQuery可用,如下所示:
var casper = require('casper').create({
verbose: true,
clientScripts: ['jquery-1.9.1.min.js']
});
casper.start('http://my-site.com/examples/casperjs/sample.html', function() {
var start_link = this.evaluate(function(){
return $('td.title > a').first().attr('href');
});
this.echo(start_link);
});
casper.run();
您使用的选择器:
$("#bd_lst tr.notice").last().next().find(".title a").attr("href");
工作正常。您刚刚在键入表id时犯了一个错误:它是bd_lst
,而不是bd_list
希望有用 谢谢。。你的评论。但html代码就是一个例子。问题不是jquery选择器,而是casperjs求值返回。我的jquery代码正在工作。。也但不返回casperjs中的值。@Kan:好的。您想使用casper进行刮片还是测试?@Kan:您的求值功能运行良好。您刚刚在表'id'中提交了一个键入错误:它是
bd_lst
而不是bd_list
。