活字填表 Public
一、脚本基本信息
脚本名称: 活字填表 - 网申表单快速填写工具
版本: 1.1.0
一句话简介:
把姓名、学校、家庭信息、实习经历等重复内容做成可复用“活字”,在校招、网申和常见网页表单中按需快速填写,并支持单选、常见下拉、连续填写、序列模板与本地备份。
推荐标签:
求职、网申、校招、填表、效率工具、表单、招聘
建议分类:
效率 / 工具 / 求职辅助(按 ScriptCat 实际可选分类选择最接近的一项)
二、发布简介
每次网申都要重复填写姓名、籍贯、教育经历、家庭成员、实习经历?
「活字填表」把常用信息保存成一块块可复用的“活字”:先点击网页字段,再点击素材即可填写;也可以把多项素材排成临时序列,一次连续填写。
脚本采用按需启用:默认不会在所有网站显示。需要时通过脚本菜单选择“本次启用”,或按 Alt + Shift + H 呼出;常用网申网站可点击“记住本站”,之后自动显示。
所有个人素材均保存在用户自己的脚本管理器本地,不预置个人信息,不自动提交表单,也不包含向作者服务器上传简历数据的代码。
三、主要功能
- 按需启用:脚本可运行于普通 HTTP/HTTPS 网页,但默认隐藏。
- 记住本站:对常用招聘/网申网站开启自动显示,也可随时取消。
- 跨网站素材库:数据使用脚本管理器本地存储,同一套资料可在多个网站复用。
- 分类素材:个人信息、教育经历、家庭信息、实习 / 工作、其他;分类和素材均可自行新增、编辑、删除和移动。
- 快速选择:是 / 否 / 有 / 无 / 不涉及。
- 单项填写:点击网页字段,再点素材。
- 临时序列:右键素材加入序列,可拖拽排序。
- 连续填写:从指定字段开始,按页面视觉顺序依次执行序列。
- 序列模板:把常用填写组合保存成模板。
- 跳过已有内容:可选。
- 失败保护:某一步匹配失败时暂停,可重试、跳过继续或停止,避免后续整体错位。
- 常见控件支持:普通 input / textarea、原生 select、常见单选组、Element UI / Ant Design 的部分普通下拉、搜索下拉和级联下拉。
- 完整备份:JSON 文件导入/导出、复制备份、粘贴恢复、导入前自动备份、恢复上一次状态。
- 空白配置模板与重置全部数据。
- 首次使用引导和内置说明。
- 不会自动点击“提交 / 投递”。
四、安装与首次使用
推荐:ScriptCat 安装
- 在 Edge / Chrome 安装 ScriptCat(脚本猫)扩展。
- 打开本脚本的 ScriptCat 页面。
- 点击“安装脚本”。
- 打开需要填写的网申网页。
- 从 ScriptCat 的脚本菜单选择 “活字填表:本次启用 / 显示”。
- 也可以直接按 Alt + Shift + H 呼出 / 隐藏面板。
- 如果这个网站经常使用,点击面板中的 “记住本站”。
第一次建立素材
- 点击 +素材,填写“素材名称”和“填写内容”;
- 例如名称可写“手机号”,内容写自己的号码;
- 脚本公开版默认不包含任何用户个人信息。
五、使用方法
单项填写
- 点击网页中要填写的输入框 / 下拉框 / 单选项。
- 点击活字填表里的对应素材。
- 脚本尝试填写或选择对应值。
临时序列
- 右键素材:加入临时序列;
- 序列支持拖拽排序;
- “是 / 否”序列项可点击切换;
- 点击普通序列项可删除;
- 可插入“跳过”。
连续填写
- 先点击网页中准备开始的第一个字段;
- 载入或排列好临时序列;
- 点击“连续填写”;
- 遇到无法匹配的字段时脚本会暂停,不会盲目继续。
六、为什么请求“所有网站”匹配权限?
脚本的定位是通用网页表单工具,无法预先知道每一家银行、央企、招聘系统的域名,因此元数据使用:
@match *://*/*
但脚本采用按需启用模式:
- 未记住的网站默认不显示面板;
- 用户需要主动从脚本菜单启用,或使用
Alt + Shift + H;
- 只有用户主动选择“记住本站”的域名会自动显示。
宽泛的网页匹配范围是为了让用户可以在不同网申系统使用,不代表脚本会把页面内容上传到作者服务器。
七、权限说明
本版本使用:
GM_getValue:读取活字素材、模板、设置、已记住网站列表;
GM_setValue:保存上述本地数据;
GM_registerMenuCommand:提供“本次启用 / 显示”等菜单入口;
GM_setClipboard:复制用户主动导出的 JSON 备份。
脚本未申请网络请求类权限,代码中不包含将用户表单内容发送至作者服务器的逻辑。
八、隐私说明
- 公开脚本不预置任何个人资料。
- 用户创建的姓名、电话、学校、家庭信息、经历等素材保存在脚本管理器提供的本地存储中。
- 脚本不主动向作者服务器上传素材、表单内容或网申数据。
- 脚本不会自动点击最终“提交 / 投递”按钮。
- 用户可在“数据”中随时导出备份或重置全部数据。
- JSON 备份文件本身可能含个人敏感信息,用户应自行妥善保管,不建议公开上传。
九、兼容范围与已知限制
已重点实现
- HTML 普通文本输入框、文本域;
- 原生 select;
- 常见单选控件;
- Element UI / Ant Design 的部分下拉及可搜索下拉;
- 部分省市等多级级联选择。
可能需要单独适配
日期 / 时间选择器;
iframe 内部表单;
Shadow DOM;
网站完全自研的特殊表单组件;
验证码、文件上传;
依赖复杂前端状态或强校验的网站。
v1.0.0
- 首个公开版;
- 面向智联招聘场景;
- 提供分类素材、连续填写、模板与本地备份。
活字填表 Public v1.5.0|ScriptCat 发布材料
脚本名称
活字填表 - 网申表单快速填写工具
作者:法研小新
本次更新定位
v1.4 已确认并修复 Element UI 的“是 / 否”选择问题;v1.5 单独继续处理日期选择器。
根据实际页面结构,日期字段是:
.el-date-editor
input.el-input__inner[readonly]
- Element UI 日历面板
之前直接访问 Vue 实例并不稳定,因为用户脚本运行环境和网页自己的 JavaScript 上下文可能隔离,__vue__ 不一定可见。
因此 v1.5 改用更稳的三层策略。
v1.5 日期策略
第一层:触发 Element UI 自己的输入事件链
脚本把日期规范成:
YYYY-MM-DD
然后对日期 input 依次触发:
Element UI 2.x 自己会监听这些事件,执行日期解析并更新表单绑定值。这样不依赖直接读取网页的 Vue 实例。
第二层:Vue 组件接口
如果当前环境允许读取 Element UI Vue 实例,则继续尝试:
第三层:真实日历点击
若前两种仍失败:
- 识别 Element UI 上一年 / 上个月 / 下个月 / 后一年按钮;
- 导航到目标年月;
- 在
.el-date-table td.available 中寻找目标日期;
- 直接点击真实日期格。
日期素材推荐格式
建议统一保存:
也兼容:
优先推荐 YYYY-MM-DD,最稳定。
v1.5.0 更新日志
- “是 / 否”沿用 v1.4 已修复逻辑;
- 日期新增 Element UI input/change 真实事件链;
- 日期不再依赖
__vue__ 才能工作;
- 补充 Element UI 的“前一年 / 上个月 / 下个月 / 后一年”导航选择器;
- 日期格优先匹配
.el-date-table td.available;
- 保留 DOM 日历点击兜底;
- 作者:法研小新;
- 沿用原有本地数据,不主动清空素材。
测试方式
- 新建一个日期素材,值写
2019-09-01;
- 点击网页“开始时间”;
- 点击该日期素材;
- 点击页面中的“保存”;
- 再重新“编辑”该经历;
- 如果日期仍为
2019-09-01,说明已经真正进入表单数据,而不是只改了显示。
如果开始日期成功,再用同样方式测试结束日期。
v1.6 更新重点:行政区 / 地址选择
根据实际页面 DOM,本次地址组件不是普通 Element UI 下拉,而是独立行政区弹窗:
.s-dialog__overlay
.s-dialog[role="dialog"]
- 标题:
请选择行政区
- 搜索框:
input.s-input__inner
- placeholder:
搜索城市名/区县
这会导致旧版出现一个关键问题:
打开地址弹窗后,搜索框自动获得焦点,活字填表把“当前字段”从“现居住地”错误切换成“搜索城市名/区县”。
因此点击地址素材时,脚本实际上是在操作弹窗搜索框,而不是原来的地址字段。
v1.6 修复内容
- 把
.s-dialog 行政区弹窗加入“弹层保护”;
- 弹窗内搜索框、城市、区县获得焦点或被点击时,不再覆盖原始 current 字段;
- 新增行政区专用逻辑;
- 地址弹窗已经打开时,地址素材优先走行政区选择,不再按普通文本/下拉处理;
- 优先利用页面自己的“搜索城市名/区县”功能搜索最后一级区县;
- 搜索未匹配时,自动回退为逐级点击省 / 市 / 区县;
- 支持直辖市重复层级自动去重。
地址素材格式
推荐:
北京-海淀区
北京-朝阳区
山西-长治-潞州区
也支持:
北京-北京-海淀区
北京/海淀区
山西>长治>潞州区
对于:
北京-北京-海淀区
脚本会自动把连续重复的“北京”合并为:
北京-海淀区
测试方法
- 点击网页“现居住地”;
- 确认弹出“请选择行政区”;
- 此时活字填表顶部仍应保持原字段名称,而不应变成:
当前:搜索城市名/区县
- 点击地址素材,例如:
北京-海淀区
- 脚本优先搜索“海淀区”并点击真实选项;
- 保存表单后重新编辑,确认地址仍存在。
已知状态
- “是 / 否”:沿用 v1.4,当前测试已可用;
- 日期:继续沿用 v1.5 日期处理逻辑;
- 地址:v1.6 新增,本次需要重点实测。
隐私与权限
- 不预置个人资料;
- 素材保存在脚本管理器本地;
- 不申请网络请求权限;
- 不上传姓名、住址、联系方式等素材;
- 不自动点击最终投递 / 提交。
已通过 node --check JavaScript 语法检查