我正在尝试使用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脚本文件中的电子设置。
答案 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');
}