NightmareJS 不打开浏览器

NightmareJS doesn't open a browser

我目前正在制作一个 electron 应用程序,我在项目中包含了 Nightmare。

  var nightmare = Nightmare({ show: true })

  nightmare
  .goto('http://yahoo.com')
  .type('input[title="Search"]', 'github nightmare')
  .click('.searchsubmit').then(nightmare.show())

这就是我希望看到的代码打开浏览器 window,访问 yahoo.com。

怎么我放了show:true还是没头?

航站楼:

$ 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,而是使用 electron?

如果您没有收到它的值,我认为您不能在 "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 });