Protractor For/While循环难以处理异步调用
我尝试定期检查元素,并仅在元素存在时单击。有时,此元素会在2-3分钟内出现。若它不存在,我想等待几秒钟,然后刷新页面 以下是我尝试过的:Protractor For/While循环难以处理异步调用,protractor,Protractor,我尝试定期检查元素,并仅在元素存在时单击。有时,此元素会在2-3分钟内出现。若它不存在,我想等待几秒钟,然后刷新页面 以下是我尝试过的: for(var i = 1; i < 60; i++){ element(that.proposalByOrderPath(num)).isPresent().then(function(result){ if(result){ console.log(i); return elem
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();
}
});
}
for(变量i=1;i<60;i++){
元素(that.proposalByOrderPath(num)).isPresent().then(函数(结果){
如果(结果){
控制台日志(i);
返回元素(that.proposalByOrderPath(num)).click();
}
否则{
浏览器。睡眠(15000);
browser.refresh();
}
});
}
作为输出,它打印60次。它单击元素一次,但尝试再次查找该元素,并抛出“元素不可见”错误。这是一个关闭问题。欲了解更多信息,请阅读以下内容-
我们可以通过以下三种方法之一解决异步for循环调用:
回调(); } var b=函数(){ for(循环详细信息){ a(函数(){ }) } }
在单击元素之前,可能需要将元素的
可见
字段设置为true
?主要问题是循环在进入检查元素之前完成