【问题标题】:Unable to scroll and click, as element is not visible in selenium with native android mobile application无法滚动和单击,因为元素在 selenium 中与本机 android 移动应用程序不可见
【发布时间】:2017-05-06 21:11:26
【问题描述】:

我正在使用 selenium 2.53、Java 1.8、Appium 1.5.3 来实现本地移动应用程序的自动化。现在我有一个页面长度太大的情况,我必须点击页面底部。如果我在通过自动化单击之前在测试运行时手动向下滚动页面 - 单击工作正常。但我无法使用代码向下滚动页面。我尝试了许多不同的代码集。现在我正在尝试下面的代码。但这也不起作用。

现在的问题是:我们如何将原生应用的页面滚动到特定元素并点击该元素?

JavascriptExecutor js = driver;
element = driver.findElement(getMethodToCall(object, byCall));
HashMap<String, String> scrollObject = new HashMap<String, String>();
scrollObject.put("direction", "down");
scrollObject.put("element", ((RemoteWebElement) element).getId());
js.executeScript("mobile: scroll", scrollObject);

【问题讨论】:

    标签: java selenium mobile automation appium


    【解决方案1】:

    我在向下滚动时遇到了类似的情况,并使用了滑动和 TouchActions,这两种方法在我的情况下都很好用。

    滑动:

    driver.swipe(startX, startY, endX, endY, duration);
    

    触摸操作:

    TouchAction touchAction = new TouchAction(driver);
    touchAction.press(startX, startY).moveTo(endX, endY).release().perform();
    

    对于这两个,我一直在循环中使用它,直到我看到我想要单击的对象显示在屏幕上。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-06-04
      • 2017-10-21
      • 2012-07-29
      • 2013-09-24
      • 2022-08-19
      • 2016-11-03
      • 2022-01-12
      相关资源
      最近更新 更多