android - 使用Python或adb命令读取Android UI文本?

标签 android python automation adb screen-readers

我只是想知道是否有办法使用 python 或任何 adb 命令读取 Android 设备 UI 上显示的文本?

我找到了一个名为“UIAutomator : https://github.com/xiaocong/uiautomator”的Python模块,它可以用来转储屏幕内容,但它似乎非常慢,并且在与Android设备的连接方面通常不可靠。

我还找到了 google 自己的 UIAutomator 工具,但我需要一些可以通过 python 脚本或 adb 命令使用的东西来读取屏幕上的文本。

如有任何帮助,我们将不胜感激。

提前致谢:)

最佳答案

我做了一些研究,发现了两种读取 UI 内容的方法。

  1. 使用 AndroidViewClient 的转储工具。

这是他们的项目页面:https://github.com/dtmilano/AndroidViewClient

本教程帮助我设置了 AndroidViewClient :https://www.darpandodiya.com/code/setup-androidviewclient-windows/

  • 使用此 adb 命令:
  • 此命令将 UI 层次结构 XML 保存在设备的 SD 卡中。 adb exec-out uiautomator dump

    这会在控制台本身中给出结果。 adb exec-out uiautomator dump/dev/tty

    关于android - 使用Python或adb命令读取Android UI文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48409363/

    相关文章:

    python - 为什么要在 bash 脚本中嵌入 repo 命令?

    android - 如何在 IntelliJ 中添加多个 native 库 (.so) 文件

    java - Android 应用程序不断停止

    android - Material Design 3 DialogFragment 的样式与使用 MaterialAlertDialogBu​​ilder 的对话框不同

    python - 从变形的测试对象中提取节点坐标(abaqus-python)

    python - 键盘在 PyCharm IDE 中不工作,光标不出现在任何地方

    java - 如何使用 Selenium、Java 从 div 元素中获取文本?

    python - python 中 randint(2) < 1 的解释,我无法理解 < 1 的作用

    c# - 自定义插件未显示在 G1ANT studio 的插件菜单中

    selenium - 通过 Selenium 实现类似人类的鼠标运动