You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用JS实现每日自动点击指定网站特定按钮,不受本地设备开关机影响?

可行解决方案及实现思路

要实现不受本地开关机影响的定时自动化操作,核心逻辑是把任务跑在云端长期运行的环境中,以下是三个适配不同场景的JS技术栈解决方案:


方案1:云函数+无头浏览器方案(通用适配绝大多数场景)

  • 适用场景:按钮点击需要前端页面交互、有前端渲染逻辑、无法直接抓接口的场景
  • 实现逻辑:用支持Node.js运行时的云函数搭配Puppeteer/Playwright无头浏览器,配置定时触发规则,到点后云函数自动启动,模拟浏览器访问目标站点、完成按钮点击操作后销毁实例即可
  • 核心实现要点:
    1. 本地先写好自动化操作逻辑:处理登录态(可把cookie存在云函数环境变量里,避免每次重复登录)、定位目标按钮、触发点击,示例代码片段如下:
    const puppeteer = require('puppeteer');
    exports.handler = async (event, context) => {
      const browser = await puppeteer.launch({ headless: 'new' });
      const page = await browser.newPage();
      // 注入提前拿到的站点cookie
      await page.setCookie(JSON.parse(process.env.TARGET_SITE_COOKIE));
      await page.goto('目标页面的URL');
      // 等待目标按钮加载完成
      await page.waitForSelector('#目标按钮的选择器', { timeout: 10000 });
      // 触发点击
      await page.click('#目标按钮的选择器');
      // 可选:等待操作完成确认生效
      await page.waitForNetworkIdle({ idleTime: 2000 });
      await browser.close();
      return { status: 'success' };
    };
    
    1. 代码部署到云函数平台后,配置定时CRON规则为0 12 * * *即可实现每天中午12点触发
    2. 站点有反爬机制的话,可以额外加UA模拟、随机请求延时、简单人机验证绕过逻辑

方案2:直接调用接口方案(性能最高,推荐优先尝试)

  • 适用场景:按钮点击本质是调用后端HTTP接口,没有复杂前端交互逻辑的场景
  • 实现逻辑:跳过模拟浏览器加载页面的步骤,直接在云函数里模拟按钮点击对应的HTTP请求,资源消耗极低、执行速度快
  • 核心实现要点:
    1. 先在本地浏览器F12打开网络面板,点击目标按钮时抓取对应的请求信息,包括请求地址、方法、头信息、参数、鉴权所需的cookie/token
    2. 云函数中用fetch或者axios编写请求逻辑,同样配置定时触发即可,示例代码片段如下:
    const axios = require('axios');
    exports.handler = async (event, context) => {
      try {
        const res = await axios.post('目标接口URL', {
          // 按钮点击对应的请求参数
        }, {
          headers: {
            'Cookie': process.env.TARGET_SITE_COOKIE,
            'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36'
          }
        });
        return { status: 'success', response: res.data };
      } catch (err) {
        return { status: 'fail', error: err.message };
      }
    };
    

方案3:Node.js 常驻服务方案(适合自有云服务器的场景)

  • 适用场景:自己持有长期运行的云服务器,需要灵活调整任务逻辑的场景
  • 实现逻辑:写一个常驻运行的Node.js服务,用定时任务库配置触发规则,到点执行自动化逻辑即可
  • 核心实现要点:
    1. 用node-schedule配置定时规则,用PM2管理Node进程,保证服务崩溃后能自动重启,示例代码片段如下:
    const schedule = require('node-schedule');
    // 配置每天中午12点触发
    const task = schedule.scheduleJob('0 12 * * *', async () => {
      console.log('开始执行点击任务');
      // 这里放入方案1的Puppeteer逻辑或者方案2的接口请求逻辑
    });
    

通用注意事项

  • 登录态有效期:如果站点的cookie/token有过期限制,可以额外加自动刷新登录态的逻辑,避免任务突然失效
  • 执行通知:可以在任务执行完成后加通知逻辑,同步执行结果到你常用的通讯工具,方便排查问题
  • 合规性:确保你操作的站点允许自动化操作,不要违反站点用户协议,避免账号被限制

内容的提问来源于stack exchange,提问作者Ahmad

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 09:36:07