Javascript JQuery.contents使用jsdom不起作用
这段代码在浏览器中可以工作,但在Node.js(使用JSDom+Crawler)中,我返回Javascript JQuery.contents使用jsdom不起作用,javascript,jquery,node.js,web-crawler,jsdom,Javascript,Jquery,Node.js,Web Crawler,Jsdom,这段代码在浏览器中可以工作,但在Node.js(使用JSDom+Crawler)中,我返回undefined $('div').find('.class').contents()[0].wholeText 有没有办法解决这个问题 顺便说一句,当我试图在nodejs中对其进行字符串化时,它返回错误循环定义 完整代码: var Crawler = require("crawler").Crawler; var data = {} var c = new Crawler({ maxConnect
undefined
$('div').find('.class').contents()[0].wholeText
有没有办法解决这个问题
顺便说一句,当我试图在nodejs中对其进行字符串化时,它返回错误循环定义
完整代码:
var Crawler = require("crawler").Crawler;
var data = {}
var c = new Crawler({
maxConnections: 10,
skipDuplicates: true,
// This will be called for each crawled page
callback: function(error, result, $) {
// $ is a jQuery instance scoped to the server-side DOM of the page
$("#link > ul > li > a").each(function(index, a) {
c.queue(a.href);
});
$("[id^=enfr]").each(function(index, a){
var fr = $(this).find('.FrWrd strong').html().replace(/<(?:.|\n)*?>/gm, '')
var to = $(this).find('.ToWrd').contents()[0]
console.log(fr + '\t\t\t\t\t' + to)
})
}
});
// Queue just one URL, with default callback
c.queue("http://www.wordreference.com/enfr/0");
var Crawler=require(“Crawler”).Crawler;
变量数据={}
var c=新的爬虫程序({
最大连接数:10,
skipDuplicates:对,
//这将为每个已爬网页面调用
回调:函数(错误,结果,$){
//$是一个jQuery实例,作用域为页面的服务器端DOM
$(#link>ul>li>a”)。每个(函数(索引,a){
c、 队列(a.href);
});
$(“[id^=enfr]”。每个函数(索引,a){
var fr=$(this).find('.FrWrd strong').html().replace(//gm',)
var to=$(this.find('.ToWrd').contents()[0]
console.log(fr+'\t\t\t\t'+to)
})
}
});
//仅对一个URL进行排队,并使用默认回调
c、 队列(“http://www.wordreference.com/enfr/0");
好,最后我使用“stock”DOM库解决了这个问题:
var to = $(this).find('.ToWrd').get(0).firstChild.nodeValue
是
.queue
jquery.queue()
?Thanks@guest271314不。它是CrawlerNot trustednode.js
,crawler
,jsdom
的一部分。在没有[0]
的情况下尝试了.contents()
,或$(this).find('.ToWrd')[0]。outerHTML
?