javascript - 如何使用 intern 监听 JS 页面加载事件

标签 javascript intern leadfoot

被测试的应用程序在每次页面加载后都会发出“页面加载”事件,我想在页面成功加载后截取屏幕截图。尝试使用 Leadfoot 的执行方法监听此事件。但这似乎不起作用。 任何人都可以指出是否有一种方法可以成功监听页面加载等事件。

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

最佳答案

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

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

关于javascript - 如何使用 intern 监听 JS 页面加载事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30924471/

相关文章:

javascript - 方法是否必须在对象内才能链接在一起?

javascript - 如何在管道 node.js 进程中获取终端大小?

javascript - 使用 Browserify 时无法加载用于实习生测试的模块

javascript - 获取 Leadfoot 中 findAllByXpath 返回的元素数

javascript - 你可以在 pug 文件中使用 PHP 吗?

javascript - 子组件的 EventEmitter 不工作

javascript - JavaScript 对象可以被视为普通字典吗?

javascript - Leadfoot moveMouseTo 在元素存在时需要 X/Y 偏移

javascript - 如何切换 iframe InternJS