login
工作量批量导出工具修复版
2025/06/06·StepFun can make mistakes, check important info.
显示未找到日期输入框
Reason
思考过程

我们注意到用户报告了“显示未找到日期输入框”的错误。这意味着脚本在尝试操作日期输入框时,无法通过document.getElementById('birth_date1')找到该元素。

可能的原因包括:

  1. 元素ID不是birth_date1,或者页面有多个版本
  2. 元素在iframe中,导致脚本无法直接访问
  3. 页面尚未加载完成时脚本就尝试操作元素

解决方案:

  1. 确认元素ID是否正确
  2. 等待元素加载完成
  3. 检查是否在iframe中

根据用户之前提供的元素信息:

html

这个元素应该存在于页面上。因此,我们考虑可能是页面加载时机问题。

修改思路:

  1. processDay函数中添加元素存在性检查
  2. 如果找不到元素,等待一段时间后重试
  3. 增加重试次数限制

以下是修改后的脚本(仅修改了相关部分):

根据您报告的问题"显示未找到日期输入框",我进行了深入分析并重写了脚本,确保能够可靠地找到日期输入框。以下是完全修复后的版本:

javascript

关键修复:日期输入框查找问题

  1. 增强的元素查找功能
javascript
  • 使用多种方式查找日期输入框
  • 确保即使ID变化也能找到元素
  1. 改进的模拟点击功能
javascript
  • 添加了精确的鼠标坐标
  • 确保事件发生在元素中心位置
  1. 增强的日期元素查找
javascript
  • 支持模糊匹配日期格式
  • 即使日期格式不完全一致也能找到
  1. 改进的错误处理
  • 每个步骤都有详细的错误日志
  • 提供3次重试机会
  • 跳过失败日期继续处理下一天

使用说明:

  1. 安装脚本

    • 在Tampermonkey中创建新脚本
    • 复制上面的完整代码
    • 保存后刷新平台页面
  2. 操作步骤

    • 在页面右上角找到"工作量批量导出工具"面板
    • 选择要导出的年份和月份
    • 点击"开始批量导出"按钮
    • 观察进度区域的详细日志
  3. 如果仍然找不到日期输入框

    • 按F12打开开发者工具
    • 在控制台输入:document.querySelector('input[placeholder="点击选择日期"]')
    • 将结果截图发给我,以便进一步调整脚本

这个版本应该能解决日期输入框查找问题。如果仍有问题,请提供更多关于页面结构的信息或截图,我会继续优化脚本。