javascript - Ubuntu 中的 NodeJS 不会将 console.log() 打印到终端
问题描述
我是编程新手,我正在尝试按照教程来抓取 Craigslist 并从那里获取信息,然后将其打印到控制台/然后文件。console.log() 在带有 NodeJS 的 Windows 10 中工作,但它在 Ubuntu 中无法以某种方式工作。我见过人们使用函数来打印它,但我无法弄清楚我将如何在我的小项目中做到这一点。
这是我的文件内容:
let jquery = require('jquery')
let Nightmare = require('nightmare'),
nightmare = Nightmare()
nightmare.goto('https://vancouver.craigslist.org/search/jjj?postedToday=1')
.wait(3000)
.evaluate(function() {
let items = [];
$('.result-title').each(function() {
item = {}
item["title"] = $(this).text()
item["link"] = $(this).attr("href")
items.push(item)
})
return items
})
.end()
.then(function(items) {
for (item in items) {
console.log(items[item].title)
console.log(items[item].link)
console.log("\n")
}
});
有人可以帮忙吗?谢谢
解决方案
如果您console.log
在脚本顶部有任何内容,您是否在终端上看到任何内容?
例如:
console.log('foobar') // add this line
let jquery = require('jquery')
// etc
如果这样做,请尝试console.log(items)
在最终.then
回调中。你在那里看到什么吗?
此外,您可能希望将 替换为for items in item
循环items.forEach
。
items.forEach(item => {
console.log(item.title);
console.log(item.link);
console.log("\n");
});
推荐阅读
- python - 如果它们具有相同的列值,如何更新熊猫的列?
- c++ - 为什么析构函数和复制构造函数会在对象数组中显示这种行为?
- python - 为什么欠拟合?使用 LGBM 回归模型建模时间序列数据
- mysql - 如何从 sqlite Flutter 的离线保存数据同步和保存数据到 mysql(服务器端)?
- visual-studio - 为什么 Visual Studio 中的 64 位项目仍使用 32 位静态库?
- java - Solr 过滤器查询不返回 _s 的结果,但返回 _t
- angular - 如何在 ng carousel 中添加一组新的图像并同时转到下一张幻灯片?
- python-3.x - 如何使用 python 绘制每个波段的直方图,但不使用 cv2.calcHist() 或 np.histogram() 等预定义函数
- marklogic - 内存限制 (MarkLogic)
- powershell-remoting - 如何使用 Powershell 远程从 PRTG 运行脚本以扩展磁盘卷