问答 App 把布局中的子元素隐藏了,有什么办法能识别元素吗

tobetree · 2021年09月19日 · 最后由 tobetree 回复于 2021年09月22日 · 3298 次阅读

下图第二个 framelayout 中没有子节点,但其实是有的,识别不出来,有什么办法识别吗

共收到 11 条回复 时间 点赞

额,怎么隐藏的知道不?得先知道隐藏原理,才好推敲怎么识别吧。现在信息太少,没法给具体建议,硬要说就是先了解下这个是什么元素,怎么隐藏掉的。

PS:你这个截图也看不出来这个控件树是怎么 dump 出来的,dump 的具体方法也同步下?除了这个控件树,是否也可以提供下 app 的截图?要不光看这棵树啥都看不出来。

陈恒捷 回复

隐藏原理不知道。。使用 weditor dump 下来的。

里面是 h5 容器呀

恒温 回复

不是 H5 容器吧,只有 android.widget.FrameLayout。

tobetree 回复

看这截图,里面这个像是 h5 或者自定义 view,所以采集不到内部控件树。

你问下开发,这个是 webview 还是什么?

实在不行就只能用图像识别找控件了。

陈恒捷 回复

嗯,不行的话,只能用图像识别的方式了

这个获取不到有可能是被过滤了,得看获取结构代码那边,有可能是过滤掉 isVisibleToUser 这个属性了。方便的可以把 apk 发下吗,我这边获取试试

tobetree · #8 · 2021年09月22日 Author
仅楼主可见
哲豪 回复

美团众包,Android 应用市场下载的。不过账号不能提供。需要登录之后才会触发这个隐藏

tobetree 回复

试了下,确实拿不到。看来只能通过 OCR 来识别了

哲豪 回复

嗯,那就只能用 OCR 了

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册