我有以下代码:
var nightmare = Nightmare(option)
nightmare
.goto('some url')
.evaluate(() => {
window.callback = function(cid) {
// do some stuff
// should screenshot at this point.
}
})
.screenshot('./png.png') //Doesn't get accurate png here
.end()
我想要的是在浏览器范围内添加一个回调,在浏览器范围内我会调用回调函数(如果它在某个时候存在)。在该回调函数中,我会调用主进程在该回调函数结束时截取屏幕截图。
它类似于 phantom.js 中的 window.callPhantom
。但我在 nightmare.js 中找不到如何执行此操作。
有什么想法吗?
最佳答案
您可以使用 wait(fn)
, fn 将是一个将在页面上执行并返回 true 以停止等待的函数。
var nightmare = Nightmare(option)
nightmare
.goto('some url')
.wait(function() { if(something_to_watch) return true; })
.screenshot('./png.png')
.end()
关于javascript - nightmare.js 如何实现类似window.callPhantom() 函数的功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33494748/