2

被测应用程序在每次页面加载后都会发出“页面加载”事件,我想在页面成功加载后截屏。尝试使用 Leadfoot 的 execute 方法监听此事件。但这似乎不起作用。谁能指出是否有办法成功监听页面加载等事件。

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

1 回答 1

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);
})
于 2015-06-20T22:03:33.807 回答