尝试检索页面上元素的值时变得不确定

时间:2018-12-17 10:38:47

标签: javascript casperjs

我对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

enter image description here

1 个答案:

答案 0 :(得分:0)

在您的代码中,您正在创建一个带有text属性的对象。但是然后您尝试读取属性“值”。

更改您的for循环,应该没问题。

    for(index = 0; index < listItems.length; index++){
        console.log(listItems[index]["text"]);
    };