Appium driver.getPageSource () 的使用问题

· 2017年01月06日 · 最后由 william-xiangzi 回复于 2019年08月05日 · 2935 次阅读

我试图根据点的位置获取唯一元素,步骤是将 getPageSource 中的元素进行一些判断条件删选后,拿到一些屏幕上的可操作元素,然后根据位置,获得特定元素。一切看起来都没啥问题,但是试了几个 app 后发现 getPageSource 函数获取 xml 对象太慢,京东这种页面元素较多的基本都要 4 秒以上,而且反复获取后,时间可能会变长,某 app 甚至达到 20s。所以我在想是不是这种方式不太适合操作屏幕录制脚本,appium 的这个方法还有优化的空间,想问问大家的看法。

共收到 6 条回复 时间 点赞

这个方法饶了好几层才执行,当然不会快,直接用底层的 accessbilityservice 吧!可以看下 bootstrap 的源码就知道了!

—— 来自 TesterHome 官方 安卓客户端

这块是挺慢的 我也想找个时间调试下看看慢在哪

#3 · 2017年01月07日 Author

node.js 这块不熟,等以后有时间好好看看服务器源码

#4 · 2017年01月22日 Author

@erickyang 安卓是通过 accessbilityservice,iOS 通过什么呢

这个有没有好的方法啊?我最近在搞获取一个终端网页上的所有元素,但是这个页面是刷新一段时间后再完成,这种情况使用 getPageSource 获取失败。有没有啥建议啊?

同样遇到此类问题 查看 Appium driver 运行日志 差不多用所有定位方式走了一遍

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