我在docs中看到的示例在使用.then()之前调用.end()。 比如
nightmare
.goto('http://yahoo.com')
.type('form[action*="/search"] [name=p]', 'github nightmare')
.click('form[action*="/search"] [type=submit]')
.wait('#main')
.evaluate(function () {
return document.querySelector('#main .searchCenterMiddle li a').href
})
.end()
.then(function (result) {
console.log(result)
})
.catch(function (error) {
console.error('Search failed:', error);
});
但是,我试着这样做......
...
.then(function () {...})
.end()
但我得到一个错误,说明.end不存在。
我也尝试过以下内容,它不会引发错误,但会导致噩梦挂起。
...
.then(function () {...})
.then(function () {
nightmare.end()
});
答案 0 :(得分:2)
nightmare.end()必须从链接的.then()返回,而不是仅仅被调用。
...
.then(function () {...})
.then(function () {
return nightmare.end();
})