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

如何在Tampermonkey中获取setInterval更新的船只移动精确时间戳

如何在Chrome中找到船只移动表格的隐藏精确时间戳

针对你需要获取Tampermonkey脚本所需的精确时间戳需求,我整理了Chrome开发者工具下的具体追踪步骤——毕竟页面每秒更新DOM,原始数据肯定存在内存里的某个地方:


1. Hook住setInterval,定位更新定时器

页面每秒更新表格,大概率是通过setInterval实现的,我们可以先拦截所有定时器创建,找到目标回调:

  • 打开Chrome开发者工具(快捷键F12或右键「检查」),切换到Console标签页
  • 输入以下代码覆盖原生setInterval,记录所有定时器的细节:
    const originalSetInterval = window.setInterval;
    window.setInterval = function(callback, delay, ...args) {
        console.log('新定时器创建:', { delay, callback, args });
        // 给回调打个标记,方便后续追踪
        callback._trackId = `interval_${Date.now()}`;
        return originalSetInterval(callback, delay, ...args);
    };
    
  • 刷新页面,在Console里找delay为1000(每秒执行)的那条记录,点击回调函数的链接,进入函数定义处。

2. 查看回调闭包中的原始数据

进入目标回调的代码后:

  • 在函数内部任意一行打个断点(点击代码行号左侧),当页面更新表格时,断点会触发
  • 切换到Sources标签页右侧的Scope面板,展开Closure(闭包)部分,这里会显示函数能访问的所有变量
  • 你要找的是包含moveInfoXXX(比如815198)ID、结束时间戳、船只数量等完整数据的数组/对象,这就是页面更新DOM的原始数据源。

3. 全局变量搜索或代码搜索兜底

如果上面的方法没找到,试试这两个方向:

  • 全局变量搜索:在Console里输入movements、shipMoves、moveData这类可能的变量名,直接查看是否有全局存储的完整数据
  • 代码全文搜索:在Sources标签页按Ctrl+Shift+F,搜索moveInfo(对应tr的ID前缀),找到生成表格行的代码块,顺着代码找到它读取数据的源头。

4. DOM断点追踪更新逻辑

另一种更直观的方式是通过DOM变化断点定位:

  • 在Elements标签页,选中任意一个movements_table里的<tr>元素,右键选择Break on > Subtree modifications
  • 当表格更新时,断点会触发,此时查看右侧Call Stack(调用栈),往上回溯调用链,找到更新DOM的函数,就能找到它依赖的原始数据(包含精确时间戳)。

找到原始数据后,你就可以在Tampermonkey脚本里直接提取数据生成需要的数组,比如假设数据存在window.shipMovementList里:

var movements = window.shipMovementList.map(item => [
    item.id, // 比如815198
    item.endTimestamp, // 毫秒级时间戳
    item.ships, // 200
    parseInt(item.quantity.replace(',', '')), // 200000
    item.source, // Town1
    item.target // Town2
]);

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 07:01:35