我正在尝试按常规间隔检查元素,并仅在存在时单击。有时候这个元素会在2-3分钟内出现。如果它不存在,我想等几秒钟,然后刷新页面
这是我试过的:
for(var i = 1; i < 60; i++){
element(that.proposalByOrderPath(num)).isPresent().then(function(result){
if(result){
console.log(i);
return element(that.proposalByOrderPath(num)).click();
}
else{
browser.sleep(15000);
browser.refresh();
}
});
}
作为输出,它打印60次。它单击该元素一次,但尝试再次查找该元素并抛出“元素不可见”错误。
答案 0 :(得分:0)
这是一个关闭问题。如需更多理解,请阅读以下内容 -
答案 1 :(得分:0)
我们可以通过以下3种方式中的任何一种来解决for循环中的异步调用:
回调
var a = function(callback){
//代码
打回来();
}
var b = function(){ for(循环细节){ that.a(函数(){ }) } }
通过递归调用函数而不是使用for循环
通过自我迭代
for(循环细节){ (功能(I){ //你的代码 })(一世); }