나는 현재 캐스퍼 모듈을 사용하여 일을 수행하는 캐스퍼 모듈을 만들려고 노력하고, 그에서 변수를 반환 좀 같이 해요 :CasperJS 모듈이 값을 반환하기 전에 실행을 마칠 때까지 기다리시겠습니까?
var data = [];
exports.parsePage = function(argUrl) {
url = baseUrl = argUrl;
if (!url) {
casper.warn('No url passed, aborting.').exit();
}
casper.start('https://js-uri.googlecode.com/svn/trunk/lib/URI.js', function() {
var scriptCode = this.getPageContent() + '; return URI;';
window.URI = new Function(scriptCode)();
if (typeof window.URI === "function") {
this.echo('URI.js loaded');
} else {
this.warn('Could not setup URI.js').exit();
}
//process is a function that processes the page
}).run(process);
return data;
}
내 테스트는 다음과 같습니다
var scanner = require('./pageParser');
console.log(JSON.stringify(scanner.parsePage('http://url.com')));
casper가 parsePage 함수에서 데이터를 반환하기 전에 실행을 마칠 때까지 기다릴 수 있습니까?
가 왜이 같은 utilitiy를 사용하지 않는 [밑줄-JS]를 (http://underscorejs.org/#debounce)와'_.debounce()'? – mate64
내 상황에 도움이되지 않는다고 생각합니다. 나는 JS를 웹 페이지에 삽입하려고하지 않는다. 웹 페이지가 아닌 Casper 인스턴스의 컨텍스트에서이를 수행하려고한다. – Seiyria