下载地址:https://www.pan38.com/yun/share.php?code=JCnzE 提取密码:1177
该脚本主要实现以下功能模块:
关键词触发机制:通过CONFIG.KEYWORDS配置需要响应的关键词
随机话术系统:从预设评论库中随机选择回复内容
智能防封策略:包含随机操作间隔、异常恢复等机制
页面类型判断:自动识别当前页面状态执行对应操作
// 基础配置
const CONFIG = {
KEYWORDS: ["好看", "教程", "推荐", "求链接"], // 触发评论的关键词
COMMENTS: [
"内容很棒,收藏了!",
"已三连,求回访~",
"楼主写得很详细!",
"请问这个在哪里买?"
],
SCAN_INTERVAL: [8000, 15000], // 随机操作间隔(ms)
MAX_RUN_TIME: 3600000 // 最大运行时长(ms)
};
// 主程序
auto();
device.keepScreenOn();
let startTime = new Date().getTime();
while (new Date().getTime() - startTime < CONFIG.MAX_RUN_TIME) {
try {
launchApp("小红书");
sleep(3000);
// 检测当前页面类型
if (currentActivity() === ".explore.feed.ExploreFeedActivity") {
processExplorePage();
} else if (desc("首页").exists()) {
backToHome();
}
// 随机滑动
if (random(0, 10) > 7) {
swipeRandom();
}
sleep(random(CONFIG.SCAN_INTERVAL[0], CONFIG.SCAN_INTERVAL[1]));
} catch (e) {
log("发生异常:" + e);
recoverApp();
}
}
// 处理发现页
function processExplorePage() {
let posts = className("android.view.ViewGroup").depth(10).find();
for (let i = 0; i < posts.length; i++) {
if (checkKeywords(posts[i])) {
clickPost(posts[i]);
sleep(2000);
// 执行评论操作
if (tryComment()) {
sleep(3000);
back();
break;
}
back();
}
}
}
// 关键词检测
function checkKeywords(item) {
let textNodes = item.find(className("android.widget.TextView"));
for (let j = 0; j < textNodes.length; j++) {
let text = textNodes[j].text();
if (text && CONFIG.KEYWORDS.some(kw => text.includes(kw))) {
return true;
}
}
return false;
}
// 尝试评论
function tryComment() {
let commentBtn = desc("评论").findOne(2000);
if (commentBtn) {
click(commentBtn.bounds().centerX(), commentBtn.bounds().centerY());
sleep(1500);
let input = className("android.widget.EditText").findOne(2000);
if (input) {
let randomComment = CONFIG.COMMENTS[random(0, CONFIG.COMMENTS.length-1)];
setText(input, randomComment);
sleep(1000);
let sendBtn = text("发送").findOne(1000);
if (sendBtn) {
click(sendBtn.bounds().centerX(), sendBtn.bounds().centerY());
return true;
}
}
}
return false;
}
// 异常恢复
function recoverApp() {
killApp("小红书");
sleep(3000);
}