我有一个搜索页面,其中包含一个表格,在用户按下搜索按钮后,该表格会填充搜索结果。页面对象将搜索结果表的行包装在一个自定义的HtmlElement
类中。
访问结果表时出现过时元素异常 - 正如您所期望的那样,因为它刚刚被 ajax 请求刷新。
我已经通过在执行搜索后返回页面对象的新实例来解决它,但我宁愿重新创建搜索结果字段。有没有办法做到这一点?
例子:
@FindBy(css = "[data-viewid='Table1'] .dojoxGridRow")
List<ActivityPerformanceRow> results;
// ...
public void search() {
search.click()
waitForAjaxToComplete();
// If it was a standard WebElement list I'd do something like this:
results = driver.findElements(By.cssSelector(
"[data-viewid='Table1'] .dojoxGridRow"));
}