使用appium-android滚动到页面末尾

时间:2015-10-19 10:45:04

标签: android selenium-webdriver appium

对于混合应用程序,我需要滚动到页面末尾。我能怎么做 ? 我可以使用driver.scrollTo();滚动到精确元素;和driver.ScrollToExact();

但我想从上到下滚动应用程序。 有人能告诉我吗?

3 个答案:

答案 0 :(得分:2)

 @Test
    public void testScroll()throws Exception
    {
        for(int i=0;i<4;i++)
        {
            Thread.sleep(2000);
            if (driver.findElement(By.name("end_item")).isDisplayed())
            {
                driver.findElement(By.name("end_item")).click();
                break;
            }
            else
            {
                verticalScroll();
            }

        }
    }
    public void verticalScroll()
    {
        size=driver.manage().window().getSize();
        int y_start=(int)(size.height*0.60);
        int y_end=(int)(size.height*0.30);
        int x=size.width/2;
        driver.swipe(x,y_start,x,y_end,4000);
    }

这将帮助您滑动直至结束或直到您想要的任何位置。

答案 1 :(得分:1)

您可以使用坐标滚动到页面末尾,甚至可以找到页面上可用的字符串。使用此:

TouchAction action = new TouchAction(driver).longPress(20,y).moveTo(20, 10).release();
action.perform();

答案 2 :(得分:0)

我也有同样的问题。我所做的是,使用位于该特定页面("text should be dynamic, it should be constant")底部的文本,然后使用以下代码

String text="ABC";
driver.scrollTo(text);

在此代码之后,您可以执行任何操作..例如,请参阅以下代码

String text="ABC";
driver.scrollTo(text);  
driver.findElement(By.xpath("//*[@text='"+text+"']")).click();