nightmare.js如何实现像window.callPhantom()函数的function?

我有以下代码:

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() 

我想要的是在浏览器作用域中添加一个callback函数,而在浏览器作用域中,如果在某个点上存在,我会调用callback函数。 在那个callback函数中,我会调用主进程在那个callback函数的末尾截图。

它像phantom.js中的window.callPhantom 。 但是我无法在nightmare.js中find这个方法。

有任何想法吗?

您可以使用wait(fn) ,fn将是一个将在页面上执行的函数,并返回true以停止等待。

 var nightmare = Nightmare(option) nightmare .goto('some url') .wait(function() { if(something_to_watch) return true; }) .screenshot('./png.png') .end()