我正在尝试验证特定的 div 有滚动条,如何使用 Selenium 来做到这一点?
元素:
<div class="checkout-mini-cart">
Code:
JavascriptExecutor jsExecutor = (JavascriptExecutor)webDriver;
String script = "var div = document.getElementsByClassName('.checkout-mini-cart');" +
"return div.scrollHeight < div.clientHeight;";
Object isScrollable = jsExecutor.executeScript(script);
它总是返回 false,因为“return div.scrollHeight;”返回空值。怎样才能以正确的方式去做呢?
代码document.getElementsByClassName
返回一个数组而不是 DOM 元素。
要通过脚本注入检查元素是否可滚动:
String JS_ELEMENT_IS_SCROLLABLE =
"return arguments[0].scrollHeight > arguments[0].offsetHeight;";
JavascriptExecutor jse = (JavascriptExecutor)webDriver;
WebElement container = driver.findElement(By.cssSelector(".checkout-mini-cart"));
Boolean isScrollable = (Boolean)jse.executeScript(JS_ELEMENT_IS_SCROLLABLE, container);
或通过阅读属性:
WebElement container = driver.findElement(By.cssSelector(".checkout-mini-cart"));
int scrollHeight = parseInt(container.getAttribute("scrollHeight"));
int offsetHeight = parseInt(container.getAttribute("offsetHeight"));
Boolean isScrollable = scrollHeight> offsetHeight;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)