声明:仅用于学习参考使用
该脚本实现微信好友自动检测与清理功能,包含三个安全机制:每日删除上限限制、操作随机延迟和白名单保护。使用时需开启无障碍服务,建议在非主力微信号测试运行。核心逻辑通过控件层级分析实现精准操作,避免封号风险。
注意事项:
需手动设置WHITE_LIST保护重要联系人
首次运行建议设置MAX_DELETE_PER_DAY=5测试效果
不同微信版本可能需要调整控件识别参数
建议配合定时任务每周运行一次
wechat_cleaner.js
// 安全配置参数
const SAFE_CONFIG = {
MAX_DELETE_PER_DAY: 30,
OPERATION_INTERVAL: [3000, 8000],
WHITE_LIST: ["家人", "同事"]
};
// 主执行函数
function main() {
launchWeChat();
enterContacts();
let deletedCount = 0;
while(deletedCount < SAFE_CONFIG.MAX_DELETE_PER_DAY) {
let friend = findNextFriend();
if(!friend) break;
if(shouldDelete(friend)) {
deleteFriend(friend);
deletedCount++;
}
safeScroll();
}
}
function launchWeChat() {
auto.waitFor();
app.launch("com.tencent.mm");
sleep(3000);
click("通讯录");
}
function enterContacts() {
let tab = desc("通讯录").findOne(5000);
if(tab) tab.click();
sleep(2000);
}
function findNextFriend() {
let list = className("ListView").findOne(5000);
if(!list) return null;
let items = list.children();
for(let i=0; i<items.length; i++) {
let item = items[i];
if(item.childCount() > 1) {
return {
uiObj: item,
name: item.child(1).text()
};
}
}
return null;
}
function shouldDelete(friend) {
// 白名单检测
if(SAFE_CONFIG.WHITE_LIST.some(tag => friend.name.includes(tag))) {
return false;
}
// 活跃度检测
let lastMsg = getLastMessageTime(friend.name);
if(lastMsg && Date.now() - lastMsg < 30*24*60*60*1000) {
return false;
}
return true;
}
function deleteFriend(friend) {
friend.uiObj.click();
sleep(2000);
let menu = desc("更多功能").findOne(3000);
if(menu) {
menu.click();
sleep(1000);
let delBtn = text("删除").findOne(3000);
if(delBtn) {
delBtn.click();
sleep(1000);
let confirm = text("确定").findOne(3000);
if(confirm) confirm.click();
}
}
back();
}
function safeScroll() {
let scroll = gesture(
random(500, 800),
[device.width/2, device.height*0.7],
[device.width/2, device.height*0.3]
);
sleep(random(SAFE_CONFIG.OPERATION_INTERVAL[0],
SAFE_CONFIG.OPERATION_INTERVAL[1]));
}原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。