javascript - 尝试检索页面上元素的值时未定义
问题描述
我对 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
解决方案
在您的代码中,您正在创建一个具有text
属性的对象。但是随后您尝试读取属性“值”。
用它改变你的for循环,它应该没问题。
for(index = 0; index < listItems.length; index++){
console.log(listItems[index]["text"]);
};
推荐阅读
- vaadin - Vaadin 21:将 Scroller 嵌套到 VerticalLayout 问题中
- javascript - 如何在商店中为 React Native App 编辑我的 Firebase 规则,以便发送数据而无需经过身份验证?
- flutter - 滚动后显示应用栏 - Flutter
- c# - 使用 OfficeOpenXml 格式将图像从 C# 代码插入 docx 文件
- flutter - 没有 Future.delayed 的代码不会在 catch 上执行
- amazon-web-services - 如何在golang中使用flutter发送的文本和照片数组数据
- java - 由于 Java 11 中的 JSON 加载,Young 垃圾收集长时间暂停
- flutter - 如何使用可注入的泛型类型参数注册一个类?
- powerbi - 坚持在模型中创建连接 - Power BI
- c# - 从 Hololens 向 Azure OCR 服务发出 HTTPS 请求时出现问题