通过 JS 或 JQuery 获取到元素后,通过 offsetLeft、offsetTop、offsetWidth、offsetHeight 即可获得元素的位置和大小,非常的简单,直接上源码了,敬请参阅!
/**
* Get element position by jquery, and return integer Array [left distance, top distance, width distance, height distance]
*
* @author Aaron.ffp
* @version V1.0.0: autoSeleniumDemo main.aaron.sele.core SeleniumCore.java getElementPositionAndSizeByJQuery, 2015-7-27 15:54:38 Exp $
*
* @param selector : selector
*
* @return int[left,top,width,height]
*/
public int[] getElementPositionAndSizeByJQuery(String selector){
// store element position
int[] elementPosition = new int[4]; String jq = "webelement = $('" + selector + "')[0]; " +
"return webelement.offsetLeft + ';' + webelement.offsetTop + ';' + " +
" webelement.offsetWidth + ';' + webelement.offsetHeight"; String[] position = ((JavascriptExecutor)this.webdriver).executeScript(jq).toString().split(";"); elementPosition[0] = Integer.valueOf(position[0]);
elementPosition[1] = Integer.valueOf(position[1]);
elementPosition[2] = Integer.valueOf(position[2]);
elementPosition[3] = Integer.valueOf(position[3]); return elementPosition;
}
至此,WebUI 自动化功能测试脚本第 029-JavaScript 在 Selenium 自动化中的应用实例之四(获取元素位置和大小) 顺利完结,希望此文能够给初学 Selenium 的您一份参考。(PS:JQuery 在 Selenium 中的应用我也一起归类到了 JavaScript,请知悉!)
最后,非常感谢亲的驻足,希望此文能对亲有所帮助。热烈欢迎亲一起探讨,共同进步。非常感谢! ^_^