声明:仅用于学习参考使用
该脚本实现微信好友自动检测与清理功能,包含三个安全机制:每日删除上限限制、操作随机延迟和白名单保护。使用时需开启无障碍服务,建议在非主力微信号测试运行。核心逻辑通过控件层级分析实现精准操作,避免封号风险。
注意事项:
需手动设置WHITE_LIST保护重要联系人
首次运行建议设置MAX_DELETE_PER_DAY=5测试效果
不同微信版本可能需要调整控件识别参数
建议配合定时任务每周运行一次
wechat_cleaner.js
代码语言:txt复制
// 安全配置参数
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 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])); }