JS实现问卷星自动填问卷脚本并在两秒自动提交功能

发布时间 - 2026-01-11 02:54:54    点击率:

脚本只使用问卷星,多选题目前为选中任意选项数量!!!!!!!

最近看到很多群里都在发问卷连接,各种求帮忙,正好这两天没任务,尝试写了自动填问卷的脚本,类似的脚本网上已经有了,但是后来问卷星加了验证,并且多选题已经不能适用

脚本使用方式(以Firefox为例):

一:鼠标移动到浏览器地址栏下空白处,右键,新建书签

二:填写名称(任意),代码复制到地址栏中

三:打开问卷星连接,然后点击刚刚添加的书签,即可。

代码:

javascript: void ( 
 (function () { 
 var hash = {}; 
 var a = document.evaluate('//input[(@type="radio") and not(@value="0")]//@name', 
   document, 
   null, 
   XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, 
   null); 
 if (a.snapshotLength){ 
 for (var i = 0; i < a.snapshotLength; i++) { 
 if (!(a.snapshotItem(i).value in hash)) 
 hash[a.snapshotItem(i).value] = 0; 
 hash[a.snapshotItem(i).value]++; 
 } 
 for (i in hash) { 
 document.evaluate('//input[(@type="radio") and not(@value="0") and @name="' + i + '"]', 
   document, 
   null, 
   XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, 
   null).snapshotItem(Math.floor(Math.random() * hash[i])).click(); 
 } 
 } 
 var array = new Array(); 
 var as = document.getElementsByTagName("a"); 
 var preName = ""; 
 var change = false; 
 for(var i=0; i < as.length; i++){ 
 if(as[i].getAttribute("rel") != null && as[i].nextSibling.getAttribute("type") == "checkbox"){ 
 var name = as[i].nextSibling.getAttribute("name"); 
 var check = as[i].nextSibling.getAttribute("checked"); 
 if(check == "checked"){ 
  as[i].click(); 
 } 
 if(preName == "" || preName == name){ 
  if(Math.random() * 10 > 5){ 
  as[i].click(); 
  change = true; 
  } 
 } 
 var next = as[i + 1]; 
 if(next.getAttribute("rel") != null && next.nextSibling.getAttribute("type") == "checked" && next.getAttribute("name") != name){ 
  if(!change){ 
  as[i].click(); 
  } 
  change = false; 
 } 
 if(i == as.length - 1 && !change){ 
  as[i].click(); 
 } 
 preName = name; 
 } 
 } 
 var objs = document.getElementsByTagName("textarea"); 
 for (var i = 0; i < objs.length; i++){ 
 objs[i].focus(); 
 objs[i].value = "最好的意见就是没有意见,哈哈哈哈哈哈哈"; 
 objs[i].blur(); 
 } 
 var choose = document.getElementsByTagName("select"); 
 for (var i = 0; i < choose.length; i++) { 
 choose[i].focus(); 
 choose[i].value = "1"; 
 choose[i].blur(); 
 } 
 })()); 
function validate(){return true;} 
var btn = document.getElementById("submit_button"); 
window.setTimeout(btn.click(),2000); 

之前问卷星的前端加入了一个隐藏的选择题,如果直接遍历页面上的input标签,会把这道题一起做了,然后validate函数执行的时候会报错,提示非法填问卷!!!!

下面是问卷星的js代码

if (J[0].checked || J[1].checked) { 
 alert('系统检测到非法填写问卷'); 
 window.location.href = window.location.href; 
 return; 
} 

这里我直接屏蔽了验证函数

单选题直接用XPath查找填写,random生成随机数选择选项

对于多选题,使用的是a标签与input绑定的方式,似乎是优化过的,因为之前网上流传的脚本都填不了多选了,这里我直接取出页面中所有的a标签,如果当前的a标签有rel属性,并且下一个兄弟标签的type是checked,则认定当前标签为一个多选的选项
问卷星页面的命名的一些规则,input的name为q+对应的题目编号,多选题是a标签跟input绑定,使用的是rel属性,rel命名规则是:q+对应的题目编号+选项编号

<li style="width:99%;"> 
<a href="javascript:" rel="external nofollow" class="jqCheckbox" rel="q2_2"></a> 
<input style="display:none;" id="q2_2" name="q2" value="2" type="checkbox"> 
<label>选项8</label> 
</li> 

文本框是固定文字的。

总结

以上所述是小编给大家介绍的JS实现问卷星自动填问卷脚本两秒自动提交功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!


# js  # 问卷星自动提交  # js问卷星问卷  # javascript实现倒计时并弹窗提示特效  # js弹出框、对话框、提示框、弹窗实现方法总结(推荐)  # 通过Ajax进行Post提交Json数据的方法  # 同时兼容JS和C#的RSA加密解密算法详解(对web提交的数据加密传输)  # 基于JS+HTML实现弹窗提示是否确认提交功能  # 的是  # 多选题  # 绑定  # 小编  # 多选  # 随机数  # 都在  # 最好的  # 鼠标  # 在此  # 遍历  # 网上  # 右键  # 给大家  # 写了  # 哈哈哈哈  # 为例  # 会把  # 似乎是  # 报错 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel如何实现用户注册和登录?(Auth脚手架指南)  新三国志曹操传主线渭水交兵攻略  Laravel全局作用域是什么_Laravel Eloquent Global Scopes应用指南  Laravel的.env文件有什么用_Laravel环境变量配置与管理详解  购物网站制作费用多少,开办网上购物网站,需要办理哪些手续?  打造顶配客厅影院,这份100寸电视推荐名单请查收  图册素材网站设计制作软件,图册的导出方式有几种?  如何用AI一键生成爆款短视频文案?小红书AI文案写作指令【教程】  Win11怎么开启自动HDR画质_Windows11显示设置HDR选项  Laravel如何实现多语言支持_Laravel本地化与国际化(i18n)配置教程  Laravel如何优雅地处理服务层_在Laravel中使用Service层和Repository层  Laravel路由怎么定义_Laravel核心路由系统完全入门指南  如何快速建站并高效导出源代码?  微信小程序 wx.uploadFile无法上传解决办法  javascript中数组(Array)对象和字符串(String)对象的常用方法总结  独立制作一个网站多少钱,建立网站需要花多少钱?  如何将凡科建站内容保存为本地文件?  七夕网站制作视频,七夕大促活动怎么报名?  网站制作公司哪里好做,成都网站制作公司哪家做得比较好,更正规?  ,交易猫的商品怎么发布到网站上去?  Python自动化办公教程_ExcelWordPDF批量处理案例  头像制作网站在线观看,除了站酷,还有哪些比较好的设计网站?  阿里云网站搭建费用解析:服务器价格与建站成本优化指南  网站制作软件免费下载安装,有哪些免费下载的软件网站?  高配服务器限时抢购:企业级配置与回收服务一站式优惠方案  Laravel如何配置任务调度?(Cron Job示例)  Laravel中Service Container是做什么的_Laravel服务容器与依赖注入核心概念解析  什么是javascript作用域_全局和局部作用域有什么区别?  Linux虚拟化技术教程_KVMQEMU虚拟机安装与调优  使用PHP下载CSS文件中的所有图片【几行代码即可实现】  Laravel如何实现邮件验证激活账户_Laravel内置MustVerifyEmail接口配置【步骤】  Laravel如何处理异常和错误?(Handler示例)  JS中页面与页面之间超链接跳转中文乱码问题的解决办法  如何快速搭建二级域名独立网站?  Bootstrap整体框架之CSS12栅格系统  如何在橙子建站中快速调整背景颜色?  PHP 500报错的快速解决方法  Laravel 419 page expired怎么解决_Laravel CSRF令牌过期处理  详解免费开源的.NET多类型文件解压缩组件SharpZipLib(.NET组件介绍之七)  车管所网站制作流程,交警当场开简易程序处罚决定书,在交警网站查询不到怎么办?  装修招标网站设计制作流程,装修招标流程?  魔毅自助建站系统:模板定制与SEO优化一键生成指南  活动邀请函制作网站有哪些,活动邀请函文案?  在线制作视频的网站有哪些,电脑如何制作视频短片?  Laravel怎么使用Intervention Image库处理图片上传和缩放  Laravel怎么实现模型属性转换Casting_Laravel自动将JSON字段转为数组【技巧】  JS经典正则表达式笔试题汇总  作用域操作符会触发自动加载吗_php类自动加载机制与::调用【教程】  ,网页ppt怎么弄成自己的ppt?  Win11怎么恢复误删照片_Win11数据恢复工具使用【推荐】