我有一个JavaScript性能监控合成script.I想知道我是否可以申请一份声明中等待页面加载,因为它有很多的重定向和需要时间。
目前使用的...
$browser.sleep(80000);
我想无限期等待,直到页面加载来代替它。
是的,你可以检查/直到页面被加载与JavaScript的window.onload
的帮助下无限期地等待。
试试下面的代码将检查每2秒并等待页面被加载。一旦页面加载,然后循环将打破否则将无限期地运行:
var status = false;
window.sleep = function() {
return setTimeout(() => {
console.log("=> Waited for 2 seconds...");
}, 2000);
}
var getStatus = function() {
for(var i = 0;; i++) {
if(window.onload = function() {
return true;
}) {
status = true;
console.log(i+"). Loaded ? "+status);
break;
} else {
console.log(i+"). Loaded ? "+status);
sleep();
}
}
return status;
}
getStatus();
getStatus()
将返回true一旦网页被加载成功,否则它不会,直到页面被载入任何回报。
您可以使用clearTimeout()这一点。
function timeOutFunction() {
myTimeOut = setTimeout(function()
{
$browser.sleep() }, 80000);
}
function stopTimeOutFunction()
{
clearTimeout(myTimeOut);
}
stopTimeOutFunction将覆盖timeOutFunction功能的功能性,从而防止超时。