我对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
答案 0 :(得分:0)
在您的代码中,您正在创建一个带有text
属性的对象。但是然后您尝试读取属性“值”。
更改您的for循环,应该没问题。
for(index = 0; index < listItems.length; index++){
console.log(listItems[index]["text"]);
};