我有以下代码:
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/