JS实现问卷星自动填问卷脚本并在两秒自动提交功能
脚本只使用问卷星,多选题目前为选中任意选项数量!
最近看到很多群里都在发问卷连接,各种求帮忙,正好这两天没任务,尝试写了自动填问卷的脚本,类似的脚本网上已经有了,但是后来问卷星加了验证,并且多选题已经不能适用
脚本使用方式(以火狐浏览器为例):
一:鼠标移动到浏览器地址栏下空白处,右键,新建书签
二:填写名称(任意),代码复制到地址栏中
三:打开问卷星连接,然后点击刚刚添加的书签,即可。
代码:
JavaScript 3: void((function(){ var hash={ };var a=文档。评估('//input[(@ type=' radio ')而非(@ value=' 0 '))]//@ name ',文档,null,XPathResult .无序_节点_快照_类型,空);if(a . Snapshottlength){ for(var I=0;我。快照长度;i ) { if(!(a.snapshotItem(i)).散列中的值)散列[一.快照项目(一).值]=0;哈希[快照项目(一)].值];}对于(哈希中的I){文档。评估('//input[(@ type=' radio ')而不是(@value='0 ')和@ name=' I ' ']',文档,null,XPathResult .无序_节点_快照_类型,空)。snapshotItem(数学。地板(数学。random()* hash[I]).单击();} } var Array=new Array();var as=文档。getelementsbytagname(' a ');var preName=var变化=假;for(var I=0;长度;如果getAttribute('rel ')!=空为[I]。下一个兄弟。GetAttribute(' type ')==' checkbox '){ var name=as[I]。下一个兄弟。GetAttribute(' name ');var check=as[I]。下一个兄弟。GetAttribute('选中');if(check=='checked'){ as[i].单击();} if(PRename==' ' | | PRename==name){ if(Math。random()* 10 ^ 5){ as[I].单击();变化=真;} } var next=as[I ^ 1];if(next.getAttribute('rel ')!=null next。下一个兄弟。GetAttribute(' type ')=' checked '下一步。GetAttribute(' name ')!=name){ if(!改变){ as[i].单击();} change=false } if(I==as . length-1!改变){ as[i].单击();} preName=name } } var objs=document。getelementsbytagname('文本区域');for(var I=0;I objs . lentigi){ objs[I].焦点();objs[i].值='最好的意见就是没有意见,哈哈哈哈哈哈哈;objs[i].blur();} var choose=document。getelementsbytagname(' select ');for(var I=0;我选择。长度;I){ 0选择[i].焦点();选择[i].值=' 1 ';选择[i].blur();} })());函数validate(){ return true;} var BTN=文档。getelementbyid(' submit _ button ');window.setTimeout(btn.click(),2000);之前问卷星的前端加入了一个隐藏的选择题,如果直接遍历页面上的投入标签,会把这道题一起做了,然后生效函数执行的时候会报错,提示非法填问卷!
下面是问卷星的射流研究…代码
if (J[0]).选中|| J[1].选中){ alert('系统检测到非法填写问卷');窗户。位置。href=窗口。位置。href返回;} 这里我直接屏蔽了验证函数
单选题直接用XPath查找填写随机的生成随机数选择选项
对于多选题,使用的是a标签与投入绑定的方式,似乎是优化过的,因为之前网上流传的脚本都填不了多选了,这里我直接取出页面中所有的a标签,如果当前的a标签有能量损耗率属性,并且下一个兄弟标签的类型是检查过了,则认定当前标签为一个多选的选项问卷星页面的命名的一些规则,输入的名字为q对应的题目编号,多选题是a标签跟投入绑定,使用的是能量损耗率属性,rel命名规则是:q对应的题目编号选项编号
李风格='宽度:99%;'a href=' JavaScript : ' rel='外部无跟随' class=' jqCheckbox ' rel=' Q2 _ 2 '/a输入样式=' display:none'id='q2_2 '名称='q2 '值='2 '类型='复选框'标签选项8/标签/li文本框是固定文字的。
总结
上面提到的是JS的两秒自动提交功能,用于自动填写边肖介绍的问卷脚本。希望对大家有帮助。如果你有任何问题,请给我留言,边肖会及时回复你。非常感谢您对我们网站的支持!
版权声明:JS实现问卷星自动填问卷脚本并在两秒自动提交功能是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。