顺晟科技
2021-06-16 10:40:57
1508
前提
使用auto.js mitmproxy抓取微信公众号信息
条件
安卓机auto.js软件
高版本的安卓机需要修改一下证书的问题,不然抓不到微信的包
代码
1.开启auto.js服务
通过使用相对代码开启auto.js服务,并将手机auto.js连接到电脑,并且开启无障碍模式
2.编写脚本
打开微信,自动搜索关键词,搜索,自动下滑至更底端
//点击发现
//点击('返现');
id('dkb ').类名(' Android。小工具。文本视图').文本("发现').findOne().父项()。点击()
睡眠(100);
//print(' 132 ');
//点击搜一搜
点击(500,750);
睡眠(200);
//店家搜索框
id('m7 ').findOne().click();
sleep(2000);
citys='湖州、绍兴、宁波、嘉兴、丽水、台州、温州、金华、衢州、舟山'
var city_list=citys.split(',')
for (var ki in city_list){
var kw=city_list[ki]
//输入关键字
id('m7 ').findOnce().click();
类名(' Android。小工具。编辑文本').findOne().setText(kw);
睡眠(100);
点击(1065,2320);
睡眠(3000);
//////公众号
文本("公众号').findOnce().click();
sleep(2000);
//循环下拉
for(I=0;i1000i ){
刷卡(360,1980,362,420,1000)
睡眠(100);
if(text('没有更多的搜索结果').findOnce()!=null){
console.log('找到了');
敬酒('赵导');
console.log('kw遍历完I . tostring());
//写入文件
parse _ JSON(kw);
打破;
//};
}else{
控制台。log(' 123 ');
控制台。日志(I);
吐司(一);
};
};
}
parse_json函数,统计当前页面所有公众号名称并写入文件
函数parse_json(kw){
var c=id('om ').id('boe ').findOnce().子级(0)。子级(0)。儿童(1)。儿童(1)。儿童()。拼接(3);
if(c!=null){
//toast(c);
}else{
"吐司("没找到(^)');
}
var kw_list=[]
c.forEach(
函数(childd,index){
//console.log(索引);
//console.log(childd.bounds())
尝试{
if (childd.child(0)).孩子(2)!=null){
console.log(childd.child(0)).儿童(2)。child count());
var view=childd.child(0).儿童(2)。find(ClassName(' Android。视图。视图')[1];
//console.log('视图的长度');
//console.log(childd.child(0)).儿童(2)。找一个(ClassName(' Android。视图。视图').text());
//控制台。日志(视图。text());
//console.log('上面是名字');
//console.log(childd.child(0)).儿童(2)。儿童(1)。text())
kw _ list。push(视图。text());
};
//toast(childd.child(0)).chid(2).儿童(1)。text())
//睡眠(100)
}catch(e){
console.log('报错了');
控制台。log(e);
};
}
);
//写进文件夹
//var text=JSON。stringify({ aa : kw _ list })
var text=kw _ list。连接(' \ n ');
文件。write('/sdcard/auto _ gzh/' kw ' .' txt ',文本);
}
总结
auto.js相比于测试脚本更加轻量、稳定,无需依赖任何环境,无需根,开发起来极其方便,随时可测试,还可以打包成apk,是个自动化工具的不错选择。
————————————————
09
2022-04
28
2021-08
28
2021-08
28
2021-08
16
2021-06
16
2021-06