此代码在浏览器中有效,但在Node.js中(使用JSDom + Crawler),我返回undefined
$('div').find('.class').contents()[0].wholeText
关于如何解决这个问题的任何想法?
BTW,当我尝试在nodejs中对其进行字符串化时,它会返回错误Circular defintion
完整代码:
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");
答案 0 :(得分:0)
好的最后我通过使用&#34; stock&#34;来解决它。 DOM库:
var to = $(this).find('.ToWrd').get(0).firstChild.nodeValue