2015-10-19 69 views
1

對於混合應用程序,我需要滾動至頁面末尾。我能怎麼做 ? 我可以使用driver.scrollTo()滾動到精確元素。和driver.ScrollToExact();使用appium-android滾動至頁面末尾

但我想從上到下滾動應用程序。 有誰能告訴我嗎?

回答

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(); 
+0

但是,當我使用scrollTo()方法,獲取錯誤爲org.openqa.selenium.WebDriverException:處理命令時發生未知的服務器端錯誤。 (警告:服務器沒有提供任何堆棧跟蹤信息) – naazneen3264

+0

你使用的是什麼java客戶端@ naazneen3264,你可以使用最新的java客戶端 –

+0

上午使用最新的java客戶端版本。 java客戶端3.2.0 – naazneen3264

1

您甚至可以通過查找頁面上可用的字符串來使用座標滾動到頁面的末尾。使用此:

TouchAction action = new TouchAction(driver).longPress(20,y).moveTo(20, 10).release(); 
action.perform(); 
1
@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); 
    } 

這將幫助你刷卡,直到年底或至任何位置,你想要的。

+0

「horizo​​ntalScroll();」方法在哪裏? – naazneen3264

+0

對不起,我的壞編輯答案 –