错误思路一:通过抓取windows的QQ软件来获取QQ成员
难点:通过spy++获取不到节点和句柄
正确思路:通过抓取手机版本的QQ来获取QQ成员
用到的开发工具
开维控制精灵 | 按键精灵助手 | |
查找节点 | 有自带的函数,比如cs控件类cs.id | 能提取所有节点json,提取相应的节点,需要自己来处理json或调用第三方插件 |
调试工具 | uiautomatorviewer | 抓抓 |
运行调试 | 可设置断点,支持网页实时调试 | |
稳定性 | 程序容易崩溃,可能需要设置较长的等待,比如sleep(3000) | |
语法 | 支持Javascript来编程,但目前不支持return语句,期待后期作者的升级 | 支持Q语言(类似vbscript) |
遇到的问题:
怎么获取不到QQ群成员的节点数组呢?
//获取当前聊天中的朋友列表
var arr=cs.id("com.tencent.mobileqq:id/jzt").find();
toast(arr.size());
打印出来是0,总是0啊
解决方案:
1: 开启雷电模拟器,让QQ群成员列表处于当前屏幕
2: 启动网页版本的开维精灵,它会联动模拟器中手机版的开维精灵来执行代码。(如果你直接启动手机版的开维精灵的话,切换到QQ软件会造成几秒时间上的延迟)
思路分析:
1:利用安卓抓取节点工具 uiautomatorviewer.bat来获取QQ成员的节点ID,
比如:"resource-id": "com.tencent.mobileqq:id/jzt"
2:获取当前页的QQ列表listQQ
3:遍历当前列表listQQ,模拟点击其中的一个QQ节点,进入到详细页面,可采集到QQ号, 将采集到的QQ保存到文本文件
4:当前页面的QQ采集完成之后,需要将当前屏幕滚动到下一页
重复2,3,4步骤,直至QQ群中的成员全部采集完成。
打开模拟器-》更多-》共享文件,可找到对应的文本文件,里面就是你想要的采集结果。