Android 如何使用appium java在Hybrid应用程序中垂直滚动

Android 如何使用appium java在Hybrid应用程序中垂直滚动,android,webview,appium,Android,Webview,Appium,我正在自动混合应用程序。我想点击在页面上不可见的注销,因此我需要向下滚动来点击它。我正在尝试下面的代码,但它不起作用,我正在使用Java客户端5.0.4 Appium server 1.7.2和selenium 3.9.1以及Java jdk版本1.8.0_161。谁能帮忙吗 JavascriptExecutor js = (JavascriptExecutor)driver; HashMap<String, String> scrollObject = new Ha

我正在自动混合应用程序。我想点击在页面上不可见的注销,因此我需要向下滚动来点击它。我正在尝试下面的代码,但它不起作用,我正在使用Java客户端5.0.4 Appium server 1.7.2和selenium 3.9.1以及Java jdk版本1.8.0_161。谁能帮忙吗

JavascriptExecutor js = (JavascriptExecutor)driver;
        HashMap<String, String> scrollObject = new HashMap<String, String>();
        scrollObject.put("direction", "down");
        js.executeScript("mobile: scroll", scrollObject); 
        do 
        {
        try{
        ele1.click();
        break;
        }
        catch(Exception e){
            js.executeScript("mobile: scroll", scrollObject); 
        }
        } while(true);
JavascriptExecutor js=(JavascriptExecutor)驱动程序;
HashMap scrollObject=新建HashMap();
滚动对象。放置(“方向”,“向下”);
js.executeScript(“移动:滚动”,滚动对象);
做
{
试一试{
ele1.单击();
打破
}
捕获(例外e){
js.executeScript(“移动:滚动”,滚动对象);
}
}虽然(正确);

查看此链接。我没有使用它的混合应用程序,但它可能会帮助你。它提供了使用Android驱动程序垂直滚动页面的解决方案。

我已经尝试过这个代码,它对我来说很有效,可以点击屏幕上看不到的对象。你可以试试这个

MobileElement abc = (MobileElement) driver.findElement(MobileBy.AndroidUIAutomator("new UiScrollable(new UiSelector()).scrollIntoView("
                  +"new UiSelector().text(\"Country\"));"));
          abc.click();

用文本或资源id替换“Country”。查看此链接以了解如何使用UiSelector,这有助于我找到此解决方案

欢迎链接到某个解决方案,但请确保您的答案在没有它的情况下是有用的:这样您的其他用户就会知道它是什么以及为什么存在,然后引用您链接到的页面的最相关部分,以防目标页面不可用。删除上一个答案后重新发布。这是您发布的包含相同域链接的内容。。你与该网站有联系吗?相同的答案是错误发布的。现在我已经编辑了这个并给出了解决方案。