0
我目前想做一個卡斯帕爾模塊使用卡斯帕爾模塊做一些事情,並返回一個變量,有點像這樣:等待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')));
在返回parsePage函數中的數據之前是否可以等待casper完成執行?
你爲什麼不使用像utilitiy [下劃線-JS] (http://underscorejs.org/#debounce)和'_.debounce()'? – mate64
我不認爲這有助於我的情況。我不想將JS注入網頁,我期望在Casper實例的上下文中執行此操作,而不是網頁。 – Seiyria