解决方法:获取下拉项Dom节点,调用.scrollIntoView(); 方法即可。
/ *
* <p>Discription:[将滚动条定位到指定下拉项位置]</p>
* @param itemValue 下拉框显示值
* @author:[xxxx]
* @update:[日期YYYY-MM-DD] [更改人姓名][变更描述]
*/
private void scrollIntoComboBoxItem(String itemValue)
{
((JavascriptExecutor) getDriver()).executeScript(
" dojo.query(\"tr[class*='u-combobox-item']\").forEach(function(n){"
+ " if( '"+ itemValue + "' == n.innerText)"
+ " {"
+ " n.scrollIntoView();"
+ " return;"
+ " }"
+ " }); "
);
}
注:ComboBox下拉框中的全部元素都已经在载到页面中,只是没有显示出来.而Grid无分页时,数据是动态装载的,需要将滚动条定位到最后一条记录,Grid才会将数据全部加载到页面中。