android如何获取屏幕上的元素信息?

yanwushu
  • 1.2k

看到网上有一些自动化的操作工具可以实现手机的自动控制,有几个问题:

  1. 这些自动化工具是简单的做了一些点击和滑动的记录和执行操作还是通过识别屏幕上的元素内容,来“智能”操作的呢?
  2. 我自己的想法:第一种肯定有,但是第二种是否可以实现就不清楚了。是否可以实现呢?比如这样一个场景:

    实现自动启动桌面上的一个app,不同的手机屏幕大小不同,而且反应速度不同,如果使用第一种方法,会有局限性,那么是否可以有一种类似检查网页元素的方法来遍历屏幕上的所有元素?获取到他们的信息(图标文本,坐标位置等)然后实现自动点击?

回复
阅读 3.2k
1 个回答
  • 都有,而且已经存在成熟的技术

    • 第一类的,最简单的比如按键精灵这样的软件,它就是模拟手在屏幕上的操作,还有按键事件什么的,它能通过一些找图函数什么的来搜你想要的内容的样子来触发一些操作,这类软件一般需要root权限才能正常工作
    • 第二类的专业一些,一般用于自动化测试方面,比如现在用的多的 appium,支持java python等多平台语言调用。它是通过分析包内资源id进行的识别,需要设置包名、类什么的操作,也可以触发各个控件的事件,获取其属性。理论上可以满足你后面的要求
宣传栏