您如何通过 selenium 确定 jqGrid 是否已加载并准备好使用。
一些细节:
- 我正在使用 C# 驱动程序
- 我有一个方法:
new WebDriverWait(driver, new TimeSpan(0, 0, 0, 30)).Until(x => loadingdissapearedcondition)
我用它来等到 Loading.. 元素消失。 - 我有时也使用这个脚本:
private const string script = @"return ($('#{0}').jqGrid('getGridParam', 'reccount') !=x undefined) && ($('#{0}').jqGrid('getGridParam', 'reccount') != 0) && (!$('#load_{0}').is(':visible')) && (!$('#busyIcon').is(':visible'))";
private readonly string waitScript;
waitScript = string.Format(script, jqGridId);
public void WaitUntilLoadIconDissappears()
{
driver.WaitUntil(MAXWAIT, Wait);
}
public bool Wait()
{
var executeScript = ((IJavaScriptExecutor) driver).ExecuteScript(waitScript);
bool result;
bool tryParse = bool.TryParse(executeScript.SafeToString(), out result);
return tryParse && result;
}
查找 jqGrid 是否已完成记录和加载。
我需要更好的东西——如果我们使用 jqGrid 的本地数据,即使上述两个也不会让驱动程序等到加载完成。我也很好奇什么是最好的方法,或者至少是其他人如何处理这个问题。