java - 使用 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 选择器。
解决方案
UiSelector
您可以使用链接:
String query = "new UiScrollable(resourseIdMatches(\".*recycler_view\")).scrollIntoView(resourseIdMatches(\".*recycler_view\")).childSelector(text(\"Text Group\")))";
另外new UiSelector...
部分可以省略。Appium 确实支持这种语法。
推荐阅读
- c++ - 有没有办法创建一个由操作系统(Windows、操作系统、Linux)解释为单个文件的文件夹?
- macos - 如何在 MacOS 上使用 ansible 获取文件创建时间?
- node.js - 如何在时钟的特定时间运行该功能
- javascript - 如何在 Es6 中使用 async 函数
- c# - 在 C# 中调用 SQL 存储过程(Windows 应用程序)
- node.js - 请解释事件循环中这两个代码块的输出之间的区别?
- android - 无法将firebase模拟器与真实设备连接
- reactjs - 使用显示提取结果的有效方法?
- youtube-api - 如何批量更新 youtube 视频描述
- python - 如何使用 python api 获取 Jenkins 构建失败的原因