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

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

脚本使用方式(以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

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

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[i].focus();

objs[i].value = "最好的意见就是没有意见,哈哈哈哈哈哈哈";

objs[i].blur();

}

var choose = document.getElementsByTagName("select");

for (var i = 0; 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+对应的题目编号+选项编号

选项8

文本框是固定文字的。

PHP实现小型问卷星,JS实现问卷星自动填问卷脚本并在两秒自动提交功能相关推荐

  1. element ui select 自动向上向下弹出_[selenium]用Selenium自动填问卷星的问卷

    不知道你家单位是怎么让各位职工上报自己体温的,总之我现在好像一天要报3次这样的感觉,比如这个东西,一天要填1次.每次填报的内容都是一样样的(除了体温以外),但是不能不填,填错了还不好办,怎么办呢?能不 ...

  2. python自动填写问卷星

    python自动填写问卷星 参考链接1 参考链接2 用python实现自动填问卷,通过智能验证以及滑动验证 1. 下载浏览器驱动 python自动化填写问卷需要依赖浏览器驱动,这里使用的是谷歌浏览器, ...

  3. 自动填写问卷星 - js

    自动填写问卷星 今天女朋友叫给她填100份问卷,这不是要了我的老命嘛...! 程序员是不可能老老实实填问卷的,这辈子都不可能的. 效果 由于是原生js写的代码,所以基本上不会失效,除非改源代码了.自己 ...

  4. python自动填写问卷_Python填写问卷星

    Python填写问卷星 有些无意义的问卷作业,真的没有必要. 但是作业既然有了,那就想办法解决它把. 关于IP限制的问题,可以使用X-Forwarded-For更换IP. 只会用印象笔记markdow ...

  5. 【python】自动填写问卷星问卷及提交

    前言:问卷是很好的网络调查方式之一,近年来,问卷星被广泛应用于各方面的调查.本文介绍了利用python代码自动填写问卷星基本题目,拥有自动填写.解决智能验证.批量提交问卷等功能. 目录 1.下载浏览器 ...

  6. 使用 Vue.js 制作一个简单的调查问卷平台

    使用 Vue.js 制作一个简单的调查问卷平台 原文  https://github.com/pramper/Demos/tree/master/Vue-Demos/Questionnaire 主题  ...

  7. Selenium自动填写问卷星

    Selenium自动填写问卷星 代码 注意 代码 from selenium import webdriver import random import time import numpy as np ...

  8. 学习python实现问卷星自动填写问卷

    学习python实现问卷星自动填写问卷 文章目录 学习python实现问卷星自动填写问卷 任务一:找帖子 思路一: 配置环境: 利用CSS选择器对页面进行解析 我们发现,我们所有的题目的回答的选项的标 ...

  9. python爬虫之自动填写问卷星调查表

    系列文章目录 python爬虫之自动填写问卷星调查表 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 系列文章目录 前言 一.python爬虫填写问卷星 二.使用步骤总结 ...

最新文章

  1. WebView通过loadDataWithBaseURL加载本地页面卡死
  2. 懂语言者得天下:NLP凭什么被称为人工智能的掌上明珠?
  3. UVA - 1045 The Great Wall Game(二分图最佳完美匹配)
  4. 标记三维点_三维扫描仪对汽车钣金外形检测折弯件钣金件热成型加工件的应用...
  5. 通信专业学python有用吗-通信算法工程师需要学python吗
  6. Java 集合框架部分面试题
  7. (转)一台服务器安装两个tomcat6 服务的解决方案
  8. 数学建模-4.拟合算法
  9. 第一段冲刺 站立会议 5.5
  10. EasyUI TextBox的onkeypress事件
  11. c语言中输出值作用,printf在c语言中什么意思
  12. 【Registration of 3D Point Clouds with Low Overlap】
  13. 解决Win10系统关机自动重启问题
  14. 联想换机助手_三星S换机助手
  15. 微博评论数据爬取思路及代码分享
  16. Windows系统基础配置
  17. MSOCache文件夹能否删除?
  18. 女生专属树洞,树懒APP内测(附下载)
  19. laravel安装barryvdh/laravel-snappy 笔记
  20. 提示计算机中丢失 opencv_world300d.dll

热门文章

  1. 通过源码分析Mybatis运行原理
  2. Robot Framework Selenium UI自动化测试 --- 进阶篇
  3. 小米手机电池校正_华为小米等安卓福音:超实用手机电池校正 解决电池虚标不耐用!...
  4. vue返回上一页并不刷新
  5. 物联网的背景及其发展
  6. 数据迁移:电脑更换硬盘怎么迁移数据?
  7. Android招行一网通对接
  8. Javascript获取当前时间24小时制
  9. 十大炒股杠杆平台到底有哪些交易模式?
  10. 【AI】VGG网络简介