如何向下滚动以使用appium和java单击Android中的元素?

我想知道如何向下滚动以使用appium和 java单击 Android中的元素?

我在“android.support.v7.widget.RecyclerView”中有一个元素列表.由于它有10个以上的元素,我们需要滑动屏幕才能看到下面的元素.
每个元素都具有相同的id,即“com.osanda.exampleapp / textViewTitle”.但他们的文字不同,如“Apple”,“Orange”,“Grapes”……

我只需要滚动并点击相关元素的文字(“Apple”,“Grapes”…..)

我已经遵循了许多教程,但无法正确完成.我设法向下滚动屏幕.但是当元素位于滚动的中间位置时它将不起作用.

当我列出元素名称时,它只显示可见元素,而不是所有元素.

List<WebElement> elements = androidDriver.findElementByClassName("android.support.v7.widget.RecyclerView").findElements(By.id("com.osanda.exampleapp:id/textViewTitle"));
        for(WebElement element : elements) {
            System.out.println(element.getText());
        }

谢谢.

解决方法

这对我有用.

public void scrollAndClick(String visibleText) {
     androidDriver.findElementByAndroidUIAutomator("new UiScrollable(new UiSelector().scrollable(true).instance(0)).scrollIntoView(new UiSelector().textContains(\""+visibleText+"\").instance(0))").click();
        }
    }

相关文章

Java中的String是不可变对象 在面向对象及函数编程语言中,不...
String, StringBuffer 和 StringBuilder 可变性 String不可变...
序列化:把对象转换为字节序列的过程称为对象的序列化. 反序...
先说结论,是对象!可以继续往下看 数组是不是对象 什么是对...
为什么浮点数 float 或 double 运算的时候会有精度丢失的风险...
面试题引入 这里引申出一个经典问题,看下面代码 Integer a ...