尝试使用SeleniumAppium检查平板电脑中是否存在滚动条

问题描述

我有一种方法可以检查平板电脑页面中是否存在滚动条。 这就是我的方法:

    public void ifScrollbarispresent() {
    String execScript = "return document.documentElement.scrollHeight>document.documentElement.clientHeight;";
    JavascriptExecutor scrollBarPresent = (JavascriptExecutor) session.driver;
    Boolean ifscrollbarpresent = (Boolean) (scrollBarPresent.executeScript(execScript));
    if (ifscrollbarpresent == true) {
        System.out.print("Scrollbar is present.");
    } else if (ifscrollbarpresent == false){
        System.out.print("Scrollbar is not present.");
    }
}

我得到的错误是:

org.openqa.selenium.WebDriverException: Method is not implemented (WARNING: The server did not provide any stacktrace information)

这是我的以下appium日志:

[MJSONWP (b44cde9b)] Calling AppiumDriver.execute() with args: ["return document.documentElement.scrollHeight>document.documentElement.clientHeight;",[],"b44cde9b-bf58-4671-83bb-c169315c66ee"]
[MJSONWP (b44cde9b)] Encountered internal error running command: NotImplementedError: Method is not implemented
 at AndroidDriver.extensions.execute (/Applications/Appium.app/Contents/Resources/app/node_modules/appium/node_modules/appium-android-driver/lib/commands/execute.js:12:9)

有人可以建议出什么问题吗?谢谢:)

解决方法

删除return并尝试:

String execScript = "document.documentElement.scrollHeight>document.documentElement.clientHeight;";

编辑1:

我的演示代码:

WebDriver driver = new ChromeDriver();
driver.get("https://github.com/");

String execScript = "return document.documentElement.scrollHeight>document.documentElement.clientHeight;";
JavascriptExecutor scrollBarPresent = (JavascriptExecutor) driver;

// Notice this
System.out.println(scrollBarPresent.executeScript(execScript).toString());

Boolean ifscrollbarpresent = (Boolean) (scrollBarPresent.executeScript(execScript));
if (ifscrollbarpresent == true) {
    System.out.print("Scrollbar is present.");
} else if (ifscrollbarpresent == false) {
    System.out.print("Scrollbar is not present.");
}

运行日志:

true
Scrollbar is present.

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...