对于基于多个 Webview 的移动应用程序(使用 Cordova、PhoneGap、XCode 构建的 iOS 应用程序),我创建了以下方法来检查元素是否存在。请建议以下片段是否有意义?因为基于传统显式等待的传统包装函数不能可靠地工作。
public boolean waitForElemToBeAvailable(final By by, final int timeout, int retries) {
WebDriverWait wait = new WebDriverWait(appiumDriver, timeout);
boolean success = false;
final long waitSlice = timeout/retries;
if(retries>0){
List<WebElement> elements = appiumDriver.findElements(by);
if(elements.size()>0){
success = true;
return success;
}else {
appiumDriver.manage().timeouts().implicitlyWait(waitSlice, TimeUnit.SECONDS);
retries--;
}
}
return success;
}
谢谢