从window.onload的setTimeout函数调用获取返回值

时间:2013-12-10 04:22:22

标签: java javascript webdriver selenium-webdriver

为此查看了所有的堆栈,但没有发现任何有用的东西。我是JS的小伙伴,所以这里就是。

我找到了这个有用的代码片段来查找我的junit webdriver测试的onload页面时间 -

window.onload = function(){
   setTimeout(function(){
   var time = performance.timing.loadEventEnd - performance.timing.navigationStart;
   console.log(time);
   }, 0);
}

我的问题:如何获取“时间”变量值?我正在使用Java和webdriver的JavascriptExecutor执行脚本。我需要这个,因为有时loadEventEnd = 0,因为页面还没有完成加载。如果我发出警报(loadEvent - navStart),则值会正确显示。我只需要在我的std java输出中打印出这个值。

尝试:

window.onload = function() {
   setTimeout(calcTime(), 0);
};

function calcTime() {
   var t = performance.timing.loadEventEnd - performance.timing.navigationStart;
   return t;
};

return calcTime();

在这种情况下,我确实打印出时间但是 loadEventEnd仍然返回0(我得到t = -1386648543791)。我希望在onload事件完成时触发calcTime(),但似乎没有。 我缺少什么?

我也试过了一个回调方法,但似乎总是返回一个空值。可能不会在那里做点什么,但如果可以,我会避免使用这种方法。

0 个答案:

没有答案