定位Dojo的ComboBox滚动条到指定下拉项位置。

 

 解决方法:获取下拉项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才会将数据全部加载到页面中。

你可能感兴趣的:(combobox)