我想在运行nightmare.js之后获取gig中的所有数据,但是我一直没有定义gig
const Nightmare = require('nightmare');
const nightmare = Nightmare({show: true});
nightmare
.goto('https://www.nairaland.com/romance')
.wait(1000)
.evaluate(function(){
var gig = [];
var links = document.querySelectorAll('a');
links.forEach(function(result){
gig.push(result.innerHTML)
})
return gig;
})
.end()
.then(function(result){
gig.forEach(function(result){
console.log(gig)
})
})
.catch(error => {
console.error('The Error is', error)
})
最佳答案
您对gig = []
的声明在您所评估函数的范围内。该函数返回时,它将超出范围。
将其放在外部范围内。也许是这样吗?
const gig = [];
nightmare
.goto('https://www.nairaland.com/romance')
.wait(1000)
.evaluate(function(){
const links = document.querySelectorAll('a');
links.forEach(function(result){
...
关于node.js - 我想在运行nightmare.js之后获取gig中的所有数据,但是我一直没有定义gig,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55854787/