如何修改JS代码实现嵌套循环,重复执行3次Instagram批量关注逻辑
Instagram批量关注脚本修改方案
调整后完整代码
var SearchFollow = "Follow"; var foundFollow; // 单轮关注计数器 var i = 1; // 批量执行轮次计数器 var batchCount = 1; // 总执行轮次,按需求设为3 const TOTAL_BATCH = 3; // 轮次间隔时间,10分钟=600000毫秒 const BATCH_WAIT_TIME = 10 * 60 * 1000; function clickfollow(){ // 每次点击前重新获取页面按钮,适配滚动加载的新内容 var TagFollow = document.getElementsByTagName("button"); for (var i = 0; i < TagFollow.length; i++) { if (TagFollow[i].textContent == SearchFollow) { foundFollow = TagFollow[i]; foundFollow.click(); break; } } } function myLoop() { setTimeout(function() { console.log(new Date().toLocaleTimeString() + ` 第${batchCount}轮,第${i}次关注`); clickfollow(); // 如需自动滚动加载可取消下方注释 // document.getElementsByTagName("ul")[3].scrollIntoView(false) i++; if (i < 41) { myLoop(); } else { // 单轮40次执行完成,判断是否还有下一轮 if (batchCount < TOTAL_BATCH) { console.log(`第${batchCount}轮执行完成,等待10分钟后启动下一轮`); setTimeout(() => { i = 1; batchCount++; myLoop(); }, BATCH_WAIT_TIME) } else { console.log("所有3轮关注任务全部执行完成"); } } }, 2000) } // 启动第一轮任务 myLoop();
核心修改说明
- 新增
batchCount轮次计数器和TOTAL_BATCH常量控制总执行轮数,默认按需求设置为3轮 - 新增轮次等待逻辑,每轮40次关注完成后,等待10分钟自动启动下一轮
- 优化按钮获取逻辑,将
getElementsByTagName操作移到clickfollow函数内部,每次点击前重新获取按钮,适配页面滚动后新加载的关注按钮 - 每轮启动前自动重置单轮关注计数器
i,保证每轮都能完整执行40次关注操作 - 新增运行日志打印,方便查看当前执行进度和状态
内容的提问来源于stack exchange,提问作者kevin
相关产品推荐
相关产品推荐

