跳至主要內容

句子自动签到

黄曦原创大约 3 分钟句子自动签到

🎯 方案概览

组件作用
油猴脚本打开 https://juzi52.net/user 时自动点击签到
Windows 定时任务每天 7:51 自动打开浏览器执行签到

🖥️ 油猴脚本

代码

// ==UserScript==
// @name         句子网每日签到
// @namespace    http://tampermonkey.net/
// @version      1.0
// @description  自动点击"每日签到"按钮,支持状态检测
// @author       You
// @match        https://juzi52.net/user
// @grant        none
// @run-at       document-idle
// ==/UserScript==

(function () {
  "use strict";

  // 等待按钮出现(最长20秒)
  function waitForElement(selector, timeout = 20000) {
    return new Promise((resolve) => {
      const start = Date.now();
      const check = () => {
        const el = document.querySelector(selector);
        if (el) {
          resolve(el);
        } else if (Date.now() - start > timeout) {
          resolve(null);
        } else {
          setTimeout(check, 300);
        }
      };
      check();
    });
  }

  async function main() {
    // 定位签到链接(通过父级 ID 精准定位)
    const btn = await waitForElement("#checkin-div a");
    if (!btn) {
      console.warn("⚠️ 未找到签到按钮,请检查页面结构");
      return;
    }

    const text = btn.textContent.trim();

    // 检测是否已签到(根据按钮文字判断)
    if (text.includes("已签到") || text.includes("已签")) {
      console.log("✅ 今日已签到,无需操作");
      return;
    }

    // 如果文字是"每日签到",执行签到
    if (text.includes("每日签到")) {
      console.log("🔍 准备签到...");

      // 优先调用全局函数 checkin()(最可靠)
      if (typeof checkin === "function") {
        checkin();
        console.log("✅ 已调用 checkin() 函数签到成功");
      } else {
        // 兜底方案:模拟点击
        btn.click();
        console.log("✅ 已模拟点击按钮");
      }
    } else {
      console.log("ℹ️ 按钮文本为:" + text + ',未匹配到"每日签到",请检查');
    }
  }

  // 等待页面完全加载后执行
  if (document.readyState === "complete") {
    main();
  } else {
    window.addEventListener("load", main);
  }
})();

脚本逻辑说明

步骤说明
① 定位按钮通过 #checkin-div a 精准定位签到链接
② 状态检测若按钮文字含"已签到"则直接退出,避免重复
③ 执行签到优先调用全局 checkin() 函数,失败则回退到模拟点击

⏰ Windows 定时任务

创建命令(管理员CMD执行)

schtasks /create /tn "桔子网签到" /tr "\"C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe\" https://juzi52.net/user" /sc daily /st 07:51:00 /ru "hx\18421"

参数说明

参数含义
/tn任务名称:桔子网签到
/tr执行命令:打开 Edge 并访问签到页
/sc daily每天重复
/st 07:51:00开始时间(24小时制)
/ru "hx\18421"以该用户身份运行

常用管理命令

# 查看任务详情
schtasks /query /tn "桔子网签到" /fo LIST /v

# 手动运行一次
schtasks /run /tn "桔子网签到"

# 修改时间(如改为 08:00)
schtasks /change /tn "桔子网签到" /st 08:00

# 删除任务
schtasks /delete /tn "桔子网签到" /f

🚀 使用流程

  1. 安装油猴脚本:Tampermonkey → 新建脚本 → 粘贴代码 → 保存。
  2. 创建定时任务:以管理员身份运行 CMD,执行上述 schtasks /create 命令。
  3. 验证:手动打开 https://juzi52.net/user,观察控制台日志是否正常签到。

❓ 常见问题

问题解决方案
按钮没点击检查浏览器是否已登录 juzi52.net
找不到签到按钮页面结构变化,按 F12 检查新元素后更新选择器
定时任务报错确保 CMD 以管理员身份运行
路径错误检查 Edge 安装路径是否为 C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe

📝 总结

环节关键点
脚本@match 匹配目标 URL,#checkin-div a 定位按钮,checkin() 触发签到
定时任务每天 7:51 自动打开浏览器 → 油猴脚本自动执行签到
维护网站改版时只需更新脚本中的选择器即可

配置完成后完全自动化,无需人工干预。🎉