前提
使用auto.js+mitmproxy抓取微信公众号信息
条件
安卓机+auto.js软件
高版本的安卓机需要修改一下证书的问题,不然抓不到微信的包
代码
1.开启auto.js服务
通过使用Vs Code开启auto.js服务,并将手机auto.js连接到电脑,并且开启无障碍模式
2.编写脚本
打开微信,自动搜索关键词,搜索,自动下滑至最底端
//点击发现
// click("返现");
id("dkb").className("android.widget.TextView").text("发现").findOne().parent().click()
sleep(100);
// print("132");
//点击搜一搜
click(500,750);
sleep(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();
className("android.widget.EditText").findOne().setText(kw);
sleep(100);
click(1065,2320);
sleep(3000);
// // // 公众号
text("公众号").findOnce().click();
sleep(2000);
// 循环下拉
for(i=0;i<1000;i++){
swipe(360,1980,362,420,1000)
sleep(100);
if(text("没有更多的搜索结果").findOnce()!=null){
console.log("找到了");
toast("zhaodaol");
console.log("kw遍历完"+i.toString());
// 写入文件
parse_json(kw);
break;
// };
}else{
console.log("123");
console.log(i);
toast(i);
};
};
}
parse_json函数,统计当前页面所有公众号名称并写入文件
function parse_json(kw){
var c = id("om").id("boe").findOnce().child(0).child(0).child(1).child(1).children().splice(3);
if(c != null){
// toast(c);
}else{
toast("没找到╭(╯^╰)╮");
}
var kw_list = []
c.forEach(
function(childd,index){
// console.log(index);
// console.log(childd.bounds())
try{
if (childd.child(0).child(2) != null){
console.log(childd.child(0).child(2).childCount());
var view = childd.child(0).child(2).find(className('android.view.View'))[1];
// console.log("view的长度");
// console.log(childd.child(0).child(2).findOne(className('android.view.View')).text());
// console.log(view.text());
// console.log("上面是名字");
// console.log(childd.child(0).child(2).child(1).text())
kw_list.push(view.text());
};
// toast(childd.child(0).chid(2).child(1).text())
// sleep(100)
}catch(e){
console.log("报错了");
console.log(e);
};
}
);
// 写进文件夹
// var text = JSON.stringify({aa:kw_list})
var text = kw_list.join("\n");
files.write("/sdcard/auto_gzh/"+kw+".txt", text);
}
总结
auto.js相比于appium更加轻量、稳定,无需依赖任何环境,无需root,开发起来极其方便,随时可测试,还可以打包成apk,是个自动化工具的不错选择。
来源:CSDN
作者:weixin_42173059
链接:https://blog.csdn.net/weixin_42173059/article/details/103782438