【发布时间】:2014-05-29 14:44:19
【问题描述】:
我正在使用 spookyjs 构建一个网络爬虫:https://github.com/WaterfallEngineering/SpookyJS
我创建了一个新的诡异对象,我正在尝试评估一个返回某个 html 标记内容的函数。为了便于阅读,我每次都尝试使用一个函数 (returnDataFromSelector()) 来执行此操作。但是,当我通过评估传递函数时,它返回 null。
当我使用匿名函数时,它可以正常工作。如何让 returnDataFromSelector 函数正常工作?
spooky.then(function() {
function returnDataFromSelector(selector) {
return function () {
return document.querySelectorAll(selector)[0].innerHTML;
}
}
var pageData = {};
pageData.projectName = this.evaluate(returnDataFromSelector('a.green-dark')); // returns null
pageData.projectName = this.evaluate(function () { return document.querySelectorAll('a.green-dark')[0].innerHTML;}); // returns correct string
this.emit('pageData', pageData);
});
【问题讨论】:
标签: javascript phantomjs casperjs spookyjs