Ale*_*oke 5 javascript java selenium
我正在尝试验证特定的div是否具有滚动条,如何使用Selenium?元件:
<div class="checkout-mini-cart">
Run Code Online (Sandbox Code Playgroud)
码:
JavascriptExecutor jsExecutor = (JavascriptExecutor)webDriver;
String script = "var div = document.getElementsByClassName('.checkout-mini-cart');" +
"return div.scrollHeight < div.clientHeight;";
Object isScrollable = jsExecutor.executeScript(script);
Run Code Online (Sandbox Code Playgroud)
它总是返回false,因为“ return div.scrollHeight;”。返回null。如何以正确的方式做到这一点?
该代码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);
Run Code Online (Sandbox Code Playgroud)
或通过阅读属性:
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;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1384 次 |
| 最近记录: |