我正在制作一个电子应用程序,我在项目中加入了梦魇。
var nightmare = Nightmare({ show: true })
nightmare
.goto('http://yahoo.com')
.type('input[title="Search"]', 'github nightmare')
.click('.searchsubmit').then(nightmare.show())
这就是我想要打开浏览器窗口的代码,请访问yahoo.com。
当我把show显示时,它怎么还是无头的?是的吗?
终端:
$ DEBUG=nightmare* electron .
nightmare queuing process start +0ms
nightmare queueing action "goto" for http://yahoo.com +3ms
nightmare queueing action "type" +2ms
nightmare queueing action "click" +0ms
nightmare running +0ms
我还更改了包含整个代码段的代码:
ipc.on('launchBrowser', function(event, data){
var nightmare = Nightmare({ show: true })
nightmare
.goto('http://yahoo.com')
.type('input[title="Search"]', 'github nightmare')
.click('.searchsubmit').then(() => { });
});
它没有按预期工作,因为我没有明确地使用node.js,而是使用电子?
答案 0 :(得分:1)
如果您没有收到其值,我认为您不能在“then”中使用()调用函数
即使您不需要nightmare.show()
,也可能会出现某种错误,因为您在创建实例时设置了属性
要么改变这样的事情:
var nightmare = Nightmare({ show: true })
nightmare
.goto('http://yahoo.com')
.type('input[title="Search"]', 'github nightmare')
.click('.searchsubmit').then(nightmare.show)
或者这个:
var nightmare = Nightmare({ show: true })
nightmare
.goto('http://yahoo.com')
.type('input[title="Search"]', 'github nightmare')
.click('.searchsubmit').then(() => { nightmare.show(); });
或完全删除nightmare.show()
var nightmare = Nightmare({ show: true })
nightmare
.goto('http://yahoo.com')
.type('input[title="Search"]', 'github nightmare')
.click('.searchsubmit').then(() => { //Something cool });