如何在NightmareJs中禁用显示打印机提示

时间:2016-09-21 07:13:41

标签: node.js pdf-generation electron nightmare

我正在尝试使用Nightmarejs从我的服务器下载其中一个PDF。我已经通过节点模块安装它: -

npm install nightmare

并记下以下代码: -

var Nightmare = require('nightmare');

var nightmare = Nightmare({ show: false})

nightmare
  .goto(url) // url of my site
  .size()
  .type('[name=email]', '')
  .type('[name=email]', 'test@gmail.com')
  .type('[name=password]', 'test')
  .click('#signInSubmit')
   .wait(2000)
  .pdf("test.pdf")
  .evaluate(function () {
 return document

  })
  .end()
  .then(function (result) {
 console.log(result)  
  })
  .catch(function (error) {
    console.error('Search failed:', error);
  });

它会将PDF文件保存到我当前的目录中,但由于我也将电子设置为false,它不会显示浏览器,但会显示打印机设置提示打印我只是不需要出现提示。我只想知道如何实现这一目标。正如我谷歌那样,它会让我将沉默设置为真实,但我不知道我应该在哪里设置这个无声的真实选项。

var nightmare = Nightmare({ show: false})

我指的是如何以及在何处配置nightmare js脚本文件中的电子设置。

1 个答案:

答案 0 :(得分:0)

网站是否正在呼叫window.print()?如果是这样,您可能可能根据custom preload script定义default preload script并为打印功能添加覆盖。这应该可以防止出现打印对话框。来自时髦:

window.print = function(){
  //shows the print call in the DEBUG log
  __nightmare.ipc.send('log', 'print called');
}