问卷星这类表单工具,做调研、收作业、抢活动名额确实方便,但真正填起来就头疼了:题目多、选项密、每个题还得反复斟酌,尤其是那种限时限量的名额登记,手速稍微慢一点,名额就没了。我之前一直在找好用的自动化方案,也试过各种油猴脚本和按键精灵,要么功能太弱,要么就是闭源收费。直到我挖到一个开源免费的问卷星脚本,2026 年更新的版本,最大的亮点是自带一个独立配置页面,不用改代码就能调整所有填写规则。这篇文章就把我对这个脚本的完整拆解、跑通过程和排查经验整理出来,希望能帮到同样需要批量填表和抢名额的朋友。
1. 为什么 2026 年还需要一个带配置页面的问卷脚本
先说个现实问题:问卷星这类平台一直在更新前端结构,老的脚本经常会莫名其妙失效。2026 年的脚本版本如果还停留在"改源码里几行配置"的阶段,那基本没法用,因为平台 DOM 结构一换,所有选择器全废。所以"自带配置页面"这个设计,在我看来不是锦上添花,而是这类脚本能长期维护下去的生命线。
1.1 问卷星场景下的时间黑洞
我接触问卷星主要在两个场景:
- 公司内部调研,每周都要发问卷收集项目反馈,几十个题,每份填下来接近十分钟。
- 帮朋友抢社区活动的名额,几百个名额几分钟就被抢光,人工填根本来不及。
这两个场景看着不同,本质上都是固定的、重复性的工作。调研问卷是给固定的一批人填,内容几乎不变;抢名额是每次活动表单结构基本一致,只是时间、地点、联系人偶尔变化。人工填既无聊又容易出错,填错一个必填选项就要重新来。
很多人第一反应是用浏览器自带的表单自动填充功能,或者装一个"表单填表"扩展。但这类方案的问题很明显:问卷星的题目不是标准 HTML input + label,很多是自定义组件,动态渲染、异步加载,普通自动填充根本识别不了选项。而且有些题目会根据上一题答案联动显示,标准工具遇到联动题就完全懵了。
1.2 自带配置页面到底解决了什么
传统脚本的痛点在于"配置和代码强耦合"。你拿到一个脚本,想改个填写内容,得先去代码里找对应变量,改完之后还要注意引号、括号、文件编码,一旦改错就报错,新手直接劝退。
这个开源脚本的思路是:把用户需要关心的所有可变参数,从代码里抽离出来,放到一个独立的本地网页上。你在配置页面填好问卷地址、题项映射、延时策略,点保存,脚本就会生成一份 JSON 配置,刷题时直接读取这份配置执行。整个过程完全不碰代码,逻辑上相当于给脚本做了一个"遥控器"。
配置页面的实际价值还在于:方便多人协作。比如团队里有人负责问卷规则、有人负责填写策略,他们不需要懂 JavaScript,只需要打开配置页面,按表单提示填内容,谁都能维护。我把配置页面发给同事之后,他 10 分钟就理解了整个填写逻辑,而之前教他看代码改参数,折腾了半小时也没讲明白。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 这类脚本的底层工作逻辑:定位、填值、提交三步走
理解一个自动化脚本,不要先看代码,先看它的工作流。问卷星脚本的核心逻辑并不复杂,本质就是模拟人在浏览器里的三大动作:找到题目、选择答案、点击提交。任何一个填写脚本,都是围绕这三步做文章。
2.1 从浏览器控制台到自动化脚本的移植思路
最早期的表单脚本,其实就是一段复制到浏览器控制台执行的 JavaScript。原理很简单:用 document.querySelector 找到按钮或输入框,然后调用 .click() 或 .value = 'xxx'。比如:
javascript复制// 这段代码在控制台里执行,模拟点击某个选项
document.querySelector('input[name="gender"][value="男"]').click();
这种方式测试单个题目很爽,但一碰到整份问卷就崩。原因有两个:一是问卷星大量使用 iframe、懒加载,脚本执行时某些题目还没渲染出来;二是选项的 name 属性可能是随机生成的,每次打开页面都不同,所以硬编码选择器不可行。
因此,正经的问卷脚本会把"定位题目"和"选择答案"拆成两层:
- 题目定位层:基于题目的可见文本(例如"您的姓名""所在城市")去搜索
