如何使用实习生来监听JS页面加载事件

时间:2015-06-18 19:48:26

标签: javascript intern leadfoot

正在测试的应用程序发出' page-load'每个页面加载后的事件,我想在页面成功加载后截取屏幕截图。试图使用Leadfoot的执行方法来监听此事件。但它似乎没有用。 任何人都可以指出是否有办法成功地收听页面加载等事件。

    return remote.get(URL) 
    .execute(function() {
                                        window.addEventListener('page-load',      function() {  
                                            console.log("Page ready");
                                        }, false);
                                    }, [])
    .takeScreenshot().then(function(data) {
                                        recordImage(newAddress, data);
                                    })

1 个答案:

答案 0 :(得分:4)

鉴于事件以异步方式触发,并且您希望等到事件触发,您应该使用executeAsync而不是execute。除了传递的任何参数之外,executeAsync还会添加一个回调参数,您的代码应在异步操作完成时调用该参数。

return remote.get(URL) 
.executeAsync(function(done) {
    window.addEventListener('page-load', function() {  
        done();
    }, false);
}, [])
.takeScreenshot().then(function(data) {
    recordImage(newAddress, data);
})