我们在编写冰狐自动化脚本过程中经常会遇到要按顺序点击列表中的所有项,依次处理。每点击一次就打开新页面,处理后返回,再继续点击下一个列表项,然后继续处理。这个看似简单的任务,要想正确实现并不简单,下面就以冰狐智能辅助的自动化脚本为例子分别给出不正确和正确的实现方法,供大家参考。
具体冰狐js代码如下:
如果按上面的代码处理的话,有可能会失败(也有可能会成功),因为当我们点击跳转到其他页面后,如果当前手机内存比较紧张,系统有可能会杀掉container所在的页面,当我们返回后,以前的获取到的container已经无效了(已经被系统杀掉回收了)。
由于ui是不断变化的,当我们点击列表弹出新界面后,以前的列表界面可能已经被操作系统回收,当我们处理新界面再返回到原来列表页面时,已经不是以前的列表页面了,而是全新的列表页面,此时之前的container(容器)已经被操作系统销毁。所以点击下一个列表时会失败。正确的处理方法是每次返回后都要重新搜索下container(容器),冰狐js代码如下:
本文分析了循环点击并处理列表的场景,给出了错误的处理方法,并分析了原因,最后给出了正确的解决方案和相关源码。