我通过NPM安装了Nightmare,这是我的代码:
var jquery = require('jquery')
var nightmare = require('nightmare')
var nightmare = Nightmare({ show: true });
$( "#test" ).addEventListener('click',() => {
nightmare
.goto('http://akhiljose.me/master/paste/')
.type('.form-control', 'Test')
.type('input[type=test]', 'nightmare_test')
.click('input[type=submit]')
.wait(7000)
.evaluate(function () {
return document.querySelector('pre').innerText;
})
.end()
.then(function (result) {
console.log(result);
})
.cat(function (error) {
console.error('Search failed:', error);
})});
然而,控制台日志:
C:\Users\ninja_000\Desktop\clu-gen\index.js:3 Uncaught ReferenceError: Nightmare is not defined
at Object.<anonymous> (C:\Users\ninja_000\Desktop\clu-gen\index.js:3:17)
at Object.<anonymous> (C:\Users\ninja_000\Desktop\clu-gen\index.js:22:3)
at Module._compile (module.js:642:30)
at Object.Module._extensions..js (module.js:653:10)
at Module.load (module.js:561:32)
at tryModuleLoad (module.js:504:12)
at Function.Module._load (module.js:496:3)
at Module.require (module.js:586:17)
at require (internal/module.js:11:18)
at file:///C:/Users/ninja_000/Desktop/clu-gen/index.html:12:5
我对nodejs很新,是什么导致了这个错误?我做错了吗?
答案 0 :(得分:2)
您正在调用未定义的变量。
nightmare
第二行声明变量Nightmare
,但是您调用var jquery = require('jquery')
var Nightmare = require('nightmare')
var nightmare = Nightmare({ show: true });
的下一行。将第二行设为大写。
at Object.<anonymous> (C:\Users\ninja_000\Desktop\clu-gen\index.js:3:17)
您可以从堆栈跟踪的第二行看到:
ReferenceError: Nightmare
第3:17行,有一个未被捕获的Nightmare
。这是有道理的,因为eslint
没有定义,所以nodejs找不到它。堆栈跟踪中的行号可用于查明代码中发生错误的位置。您还可以使用一个linter,它会在尝试使用未定义的变量时显示错误。类似于{{1}}。
答案 1 :(得分:0)
应该被定义为梦魇而不是噩梦