首页 > 解决方案 > 使用 UISelector 查询在另一个元素中按文本查找元素

问题描述

我有以下代码片段和附加的屏幕截图。

String query = "new UiScrollable(new UiSelector().className(\"androidx.recyclerview.widget.RecyclerView\"))" +
                ".scrollIntoView(new UiSelector().text(\"Test Group\"))";
driver.findElementByAndroidUIAutomator (query).click ();

我想要的是使用 UISelector 找到一个带有文本“测试组”的元素,但仅在 RecyclerView 内部(而不是搜索整个应用程序源)。我得到的是搜索字段内的元素(而不是在 RecyclerView 中)。

请指教。我知道我可以使用findElements(By.id("name")). 但我想在这种情况下使用 UI 选择器。

在此处输入图像描述

标签: javaandroidautomated-testsappiumandroid-uiautomator

解决方案


UiSelector您可以使用链接:

String query = "new UiScrollable(resourseIdMatches(\".*recycler_view\")).scrollIntoView(resourseIdMatches(\".*recycler_view\")).childSelector(text(\"Text Group\")))";

另外new UiSelector...部分可以省略。Appium 确实支持这种语法。


推荐阅读