当前位置:首页>会员资源>人工智能>抖音批量取关| 全网首发 | 使用ChatGPT写一个自动化JS脚本

抖音批量取关| 全网首发 | 使用ChatGPT写一个自动化JS脚本

前言

很多热心网友无意间关注了很多抖音账号,却发现取消起来很不方便。今天,我们将为您带来一个快速取关脚本,帮助您快速清理不想关注的用户。

抖音批量取关| 全网首发 | 使用ChatGPT写一个自动化JS脚本

图文教程

PC版 关注列表入口

抖音批量取关| 全网首发 | 使用ChatGPT写一个自动化JS脚本

进入上述页面后,按F12打开开发者工具,找到控制台,输入下面的代码

// 获取第一个 "取消关注" 按钮并点击
function cancelFollow() {
  const cancelBtn = window.document.getElementsByTagName('a')[2];
  if (cancelBtn) {
    cancelBtn.click();
    setTimeout(() => {
      const confirmBtns = document.querySelectorAll('button.semi-button-primary');
      if (confirmBtns.length > 0) {
        for (let i = 0; i < confirmBtns.length; i++) {
          const btnText = confirmBtns[i].innerText.trim();
          if (btnText === "确认") {
            confirmBtns[i].click();
            setTimeout(() => {
              cancelFollow();
            }, 1000);
            return;
          }
        }
      }
      // 点击完第一个取消关注后,重新查找新的取消关注按钮并执行相应操作
      setTimeout(() => {
        cancelFollow();
      }, 1000);
    }, 500);
  } else {
    console.log("全部用户已取消关注");
  }
}

// 执行取消关注流程
cancelFollow();

输入后按回车即可

视频演示

与ChatGPT的对话设置

需要有完成的提问思路,请看我们跟ChatGPT的对话,这个是我们对刚才完整逻辑的描述

抖音批量取关| 全网首发 | 使用ChatGPT写一个自动化JS脚本

然后就是ChatGPT给出的代码及解释了

抖音批量取关| 全网首发 | 使用ChatGPT写一个自动化JS脚本

给出代码后,我们需要运行代码,看它是否能正常运行。如果不能正常运行,有错误会提供错误报告。如果没有报错,我们需要尽可能详细地描述页面的情况并给出反馈。
我们认为这里没有得到“确认”二字,导致弹出窗口后跳转到其他页面。

抖音批量取关| 全网首发 | 使用ChatGPT写一个自动化JS脚本

// 获取指定位置的 "取消关注" 按钮并点击
function cancelFollow(index) {
  const cancelBtn = document.querySelectorAll('a[style="color: rgb(22, 24, 35); font-weight: 600; cursor: pointer;"]')[index];
  if (cancelBtn) {
    cancelBtn.click();
    setTimeout(() => {
      const confirmBtns = document.querySelectorAll('button.semi-button-primary');
      if (confirmBtns.length > 0) {
        for (let i = 0; i < confirmBtns.length; i++) {
          const btnText = confirmBtns[i].innerText.trim();
          if (btnText === "确认") {
            confirmBtns[i].click();
            setTimeout(() => {
              // 判断是否已经取消了所有用户的关注
              const newCancelBtns = document.querySelectorAll('a[style="color: rgb(22, 24, 35); font-weight: 600; cursor: pointer;"]');
              if (newCancelBtns.length > 0) {
                cancelFollow(index);
              } else {
                console.log("全部用户已取消关注");
                // 刷新页面并重新执行取消关注流程
                setTimeout(() => {
                  location.reload();
                }, 1000);
              }
            }, 1000);
            return;
          }
        }
      }
      // 点击完当前取消关注后,重新查找新的取消关注按钮并执行相应操作
      const newCancelBtns = document.querySelectorAll('a[style="color: rgb(22, 24, 35); font-weight: 600; cursor: pointer;"]');
      if (newCancelBtns.length > 0) {
        cancelFollow(index === 2 ? 1 : 2);
      } else {
        console.log("全部用户已取消关注");
        // 刷新页面并重新执行取消关注流程
        setTimeout(() => {
          location.reload();
        }, 1000);
      }
    }, 1000);
  } else {
    console.log("没有找到“取消关注”按钮");
    // 刷新页面并重新执行取消关注流程
    setTimeout(() => {
      location.reload();
    }, 1000);
  }
}

// 执行取消关注流程
cancelFollow(2);

继续测试,发现基本逻辑可以实现,但是现在会出现一个问题:
即页面上有10个按钮,它会依次点击1、2、3、4、5、6、7、8、9、10个按钮,无法获得新的。
相当于现在的代码可以取消一个页面的关注,但是我们需要的是取消每个页面的关注。
我们可以考虑一个折中的办法,每次点击第一个或第二个标签代码。

抖音批量取关| 全网首发 | 使用ChatGPT写一个自动化JS脚本

修改一下代码

// 获取第一个 "取消关注" 按钮并点击
function cancelFollow() {
  const cancelBtn = window.document.getElementsByTagName('a')[2];
  if (cancelBtn) {
    cancelBtn.click();
    setTimeout(() => {
      const confirmBtns = document.querySelectorAll('button.semi-button-primary');
      if (confirmBtns.length > 0) {
        for (let i = 0; i < confirmBtns.length; i++) {
          const btnText = confirmBtns[i].innerText.trim();
          if (btnText === "确认") {
            confirmBtns[i].click();
            setTimeout(() => {
              cancelFollow();
            }, 1000);
            return;
          }
        }
      }
      // 点击完第一个取消关注后,重新查找新的取消关注按钮并执行相应操作
      setTimeout(() => {
        cancelFollow();
      }, 1000);
    }, 1000);
  } else {
    console.log("全部用户已取消关注");
  }
}

// 执行取消关注流程
cancelFollow();

这里可以进行延迟优化

      // 点击完第一个取消关注后,重新查找新的取消关注按钮并执行相应操作
      setTimeout(() => {
        cancelFollow();
      }, 1000);
    }, 1000);
  } else {
    console.log("全部用户已取消关注");
  }

我们可以把1000改成500,提高点击确认的速度。

      // 点击完第一个取消关注后,重新查找新的取消关注按钮并执行相应操作
      setTimeout(() => {
        cancelFollow();
      }, 1000);
    }, 500);
  } else {
    console.log("全部用户已取消关注");
  }

声明:本站内容均转载于互联网,拒绝任何人以任何形式在本站发表与中华人民共和国法律相抵触的言论!如若本站内容侵犯了原著者的合法权益,请联系我们邮箱:tsstee@sina.com。

给TA打赏
共{{data.count}}人
人已打赏
人工智能

国内版ChatGPT模型发布_名叫”Moss”

2023-2-22 11:32:00

人工智能

4K壁纸超高清(AI绘画)

2023-3-29 22:05:00

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索