我们正在通过Ajax调用填充超网格控件中的值,但是当Ajax调用完成时,我们收到错误元素。
完整的序列如下:
页面上的元素: 保存&取消图标,文本框,下拉菜单,项目选择器,弹出窗口,文本区域,空白的Infragistics ultraweb网格。 加载第一次页面时,除Ultraweb网格外,所有控件都会被初始化。 现在,用户点击项目选择器并从弹出窗口中选择一个项目。此操作通过Ajax调用在页面上初始化项目详细信息及其数量的超网格。
现在我们无法在页面上引用那里的ultraweb网格。请注意,我们可以引用所有其他控件。
命令序列:
答案 0 :(得分:1)
我解决了这个问题。
当你加载页面时,在DOM中所有CSS对象都被初始化,但是稍后在处理和完成Ajax调用时,CSS对象不能在同一页面中重新初始化,只有Ajax调用进程得到的对象才能被重新初始化intialized /填充。
您可以使用XPATH解决此问题。完成Ajax调用后,您可以参考页面上的所有元素。在这种情况下,将传递WaitForElement命令,但稍后当您尝试访问元素的值时,将在使用CSS引用元素时失败。
答案 1 :(得分:0)
如果使用jQuery库,可以使用waitForCondition
命令等待AJAX调用完成:
waitForCondition | selenium.browserbot.getCurrentWindow().jQuery.active == 0; | 20000