NightmareJS无法打开浏览器

时间:2017-09-28 10:59:03

标签: javascript nightmare

我正在制作一个电子应用程序,我在项目中加入了梦魇。

  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,而是使用电子?

1 个答案:

答案 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 });