2016-03-31 6 views
0

Я хочу прокрутить к определенному элементу, который в настоящее время не отображается на экране, но он находится на странице где-то, для чего мне приходится прокручивать вниз. Так что dr.scrollTo() не работает, и я пробовал jsExecutor.executeScript("mobile: scroll", scrollObject), который тоже не работает. Итак, любые идеи для этого?Appium [iOS Native app] - Как прокрутить до определенного элемента/объекта с помощью Java?

Если возможно, я хочу, чтобы он был универсальным, чтобы он мог искать вверх и вниз, когда положение объекта неопределенно.

ответ

0

Решения работа вокруг. Для этого нет точной функции. Прежде всего, давайте соберите требования: Страница прокрутки (с диапазоном от- [текущее расположение страницы, страница Конец]), пока не появится элемент.

Для прокрутки можно потребительных

driver.swipe(startx, starty, startx, endy, 1000); 

Для нахождения видимости элемента, мы можем использовать код как-

try { 
      dr.findElement(By.xpath(xpath); // find element with whatever Selector, I am using xpath 
      if (dr.findElementsByXPath(xpath).size()>0 && dr.findElement(By.xpath(xpath)).isDisplayed()){ 
       System.out.println("Element found by xpath : " + xpath); 
       return true; 
      } else 
       return false; 
     } catch (NoSuchElementException e1) { 
      System.out.println("Object not found"); 
      return false; 
     } catch (Exception e2) { 
      System.out.println("Unhandled Exception found"); 
      e2.printStackTrace(); 
      throw e2; 
     } 

Теперь мы должны поставить условие, что скроллинг следует прекратить, если последний элемент видимый. Для этого мы можем изменить XPath текущего элемента и проверьте видимость найденного элемента этой XPath, как-

String xpath_last = elementxpath.concat("/../*[last()]"); // if we are scrolling downwards then [last()]. But if we are scrolling up then make it [1] 

Это завершает свое состояние. Думаю, это надо делать!

0

Оригинальное решение appium: https://www.youtube.com/watch?v=Z228YKNBrgM

В качестве обходного пути, вы можете прокручивать/салфетку до тех пор, пока не появятся элемент/включены/кликабельны для прошивки, или просто существует для Android