【发布时间】:2018-12-17 10:38:46
【问题描述】:
我对 JavaScript 很陌生,无法理解为什么下面的代码在尝试执行控制台日志时返回 undefined。
casper.getVersionOfDocs = function getVersionOfDocs() {
casper.then(function(){
var listItems = this.evaluate(function () {
var nodes = document.querySelectorAll('#cp-search-facets > div > div.panel-pane.pane-search-facet-product-version > div > div > ul > li');
return [].map.call(nodes, function(node) {
return {
text: node.nodeValue
};
});
});
for(index = 0; index < listItems.length; index++){
console.log(listItems[index]["value"]);
};
});
};
输出:
undefined
undefined
undefined
undefined
undefined
undefined
undefined
undefined
【问题讨论】:
-
先尝试控制台日志
console.log(listItems[index]) -
是的,已经完成了,它返回 nodeList : [object Object]
-
这是因为 listItems[index] 对象中没有“value”属性。
-
是的,验证了: 将 querySelector 更改为:'input.versionFilter.status-stable'
标签: javascript casperjs