Я использую CasperJS для извлечения некоторого содержимого из данных HTML. Для этого я поместил некоторый код jQuery в функцию evaluate()
, но код jQuery там не работает. Я не знаю, как правильно его использовать.jQuery ничего не делает внутри функции CasperJS '(
Я использую следующий код, образец:
var resultObj = [];
var casper = require('casper').create({
pageSettings: {
loadImages: false,
loadPlugins: false,
userAgent: 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1588.0 Safari/537.36'
},
});
casper.start();
//another codes
casper.traverseHtml = function(){
var executer = casper.evaluate(function(){
var htmlText = '<div><div class="tp">x</div><div class="tp">y</div><div class="tp">z</div><div class="tp">p</div></div>';
object = $('<div/>').html(htmlText).contents();
object.find('.tp').each(function(index, element) {
resultObj.push({value:index});
});
return resultObj;
});
resultObj = executer;
}
casper.then(function() {
casper.traverseHtml();
});
//codes
casper.run(function() {
this.echo(JSON.stringify(resultObj)).exit();
});
Я получил null
результат для этого кода, но когда я заменить функцию traverseHtml
, как,
casper.traverseHtml = function(){
var executer = casper.evaluate(function(){
return [{value:"1234"}];
});
resultObj = executer;
}
Тогда дает выход как,
[{"value":"1234"}]
Я не знаю, как исправить это.
У удаленной страницы есть jQuery? – hexid