一、前言:

  我们学校要刷学术章,有些学术章又是指定在某个时间点填写问卷星的问卷报名的。但是由于我手速慢,导致总会有些时候报不上名,于是想着搞个代码实现自动填写问卷星的报名表。一顿操作后,在github上找到了比较合适的源码,修改一些代码后,就可以实现问卷星自动填写!参考地址:GitHub - wkmyws/wjxJS: 问卷星 个人信息自动填写 抢志愿

  博主环境:win10 64 + 谷歌浏览器

  要实现在浏览器上运行javascript代码,有以下两种方式:

  ①在问卷星页面直接F12打开控制台,然后控制台粘贴提前写好的javascript代码,回车运行即可!但是这种方法,速度慢,不太可取(因为要每次先打开问卷星填写页面,然后再去打开控制台,然后再粘贴,然后......,时间都过了不少了,或许别人都填好提交了o(╥﹏╥)o)

  ②在谷歌浏览器插入油侯脚本,可以使浏览器自动运行js脚本程序。这种方法速度快,效果稳定,下面将使用该方法进行测试!

二、配置+测试

1. 谷歌浏览器插入油侯脚本

1.1 油侯脚本是一款免费的浏览器扩展和最为流行的用户脚本管理器,增强了用户对浏览体验的控制权。油侯脚本下载地址:Tampermonkey • Home

1.2 安装过程:

  ①在chrome浏览器右上角点开 竖三点 —> 更多工具 —> 扩展程序

  ②在扩展程序页面,打开开发者模式

  ③点击 加载已解压的扩展程序 ,选择下载解压后的文件夹

  

    注意:下载解压后的油侯脚本最好不要放在谷歌浏览器默认扩展程序位置,否则重启后油侯脚本可能会被浏览器清除掉!建议油侯脚本文件放在自定义位置!

  ④安装完成后,谷歌浏览器右上角会显示油侯脚本图标

  

  

2. 测试

2.1 自动填写问卷星

1.测试代码如下:(支持问卷星的input、radio、checkbox,仅支持填写)

// ==UserScript==
// @name         问卷星测试——支持input radio checkbox
// @version      1.1
// @description  测试
// @author       蛋片鸡
// @match        https://www.wjx.top/*
// @match        https://www.wjx.cn/*
// @grant        none
// @require      https://code.jquery.com/jquery-3.4.1.min.js
// ==/UserScript==/*
**info 第一个参数:对应的填入选项(字符串)
**info 第二个参数:匹配的标题(正则表达式)
**info 第三个参数:(可选),当答题框为单选|多选时匹配的选项(正则表达式)
*/(function() {'use strict';const info=[["蛋片鸡",/(姓名)|(名字)/],["18711111",/(学号)/],["单选框_性别",/(性别)/,/(男)|(男生)/],["单选框_年级",/(年级)/,/(18级)|(2018级)/],["机自学院",/(学院)/],["计算机",/(专业)/],["11011001100",/(联系方式)|(电话)|(手机)|(手机号)/],["1000000000@qq.com",/(QQ)|(qq)/]];const ini={module:".div_question",//每个问题模块title:".div_title_question",//标题type:{"input_text":".inputtext","radio":".ulradiocheck","checkbox":".ulradiocheck"}};$(document).ready(function(){let itemNum = 0;$(ini.module).each(function(){itemNum += 1;let title=$(this).find(ini.title).text();//判断类别for(let i=0;i<info.length;i++){//匹配用户信息if(info[i][1].test(title)){//匹配到一处信息,判断答题框类型,加break!for(let tp in ini.type){let dom=$(this).find(ini.type[tp]);if(dom.length>0){switch(tp){case "input_text":$("#q"+itemNum)[0].value = info[i][0]; //赋值break;case "radio":case "checkbox":$(this).find("li").each(function(){if(info[i].length>=3&&info[i][2].test($(this).text())){$(this).find("a").click();}});break;default:console.log("ini.type中没有匹配"+tp+"的键值");}break;}}break;}}});});
})();

2.测试结果:

测试使用的问卷星链接:https://www.wjx.top/jq/46606239.aspx

2.2 自动填写并提交问卷星

1.测试代码如下:(支持填写并提交功能)

// ==UserScript==
// @name         问卷星测试——支持input radio checkbox
// @version      1.1
// @description  测试
// @author       FHC
// @match        https://www.wjx.top/*
// @match        https://www.wjx.cn/*
// @grant        none
// @require      https://code.jquery.com/jquery-3.4.1.min.js
// ==/UserScript==/*
**info 第一个参数:对应的填入选项(字符串)
**info 第二个参数:匹配的标题(正则表达式)
**info 第三个参数:(可选),当答题框为单选|多选时匹配的选项(正则表达式)
*/(function() {'use strict';const info=[["蛋片鸡",/(姓名)|(名字)/],["18711111",/(学号)/],["单选框_性别",/(性别)/,/(男)|(男生)/],["单选框_年级",/(年级)/,/(18级)|(2018级)/],["机自学院",/(学院)/],["计算机",/(专业)/],["11011001100",/(联系方式)|(电话)|(手机)|(手机号)/],["1000000000@qq.com",/(QQ)|(qq)/]];const ini={module:".div_question",//每个问题模块title:".div_title_question",//标题type:{"input_text":".inputtext","radio":".ulradiocheck","checkbox":".ulradiocheck"}};$(document).ready(function(){let itemNum = 0;$(ini.module).each(function(){itemNum += 1;let title=$(this).find(ini.title).text();//判断类别for(let i=0;i<info.length;i++){//匹配用户信息if(info[i][1].test(title)){//匹配到一处信息,判断答题框类型,加break!for(let tp in ini.type){let dom=$(this).find(ini.type[tp]);if(dom.length>0){switch(tp){case "input_text":$("#q"+itemNum)[0].value = info[i][0]; //赋值break;case "radio":case "checkbox":$(this).find("li").each(function(){if(info[i].length>=3&&info[i][2].test($(this).text())){$(this).find("a").click();}});break;default:console.log("ini.type中没有匹配"+tp+"的键值");}break;}}break;}}});$('.submitbutton').click();});
})();

其实上面就是增加了一行代码就可以进行问卷提交!

2.测试结果:

测试使用的问卷星链接:https://www.wjx.top/jq/46606239.aspx

########2023.1.30日更新###################

由于问卷星页面元素更新,之前的代码可能就不能自动填写了,今晚搞了搞,重新分析了下页面元素,现更新一下测试代码:(支持问卷星的input、radio、checkbox,仅支持填写)

// ==UserScript==
// @name         问卷星测试——支持input radio checkbox
// @version      1.1
// @description  测试
// @author       蛋片鸡
// @match        https://www.wjx.top/*
// @match        https://www.wjx.cn/*
// @grant        none
// @require      https://code.jquery.com/jquery-3.4.1.min.js
// ==/UserScript==/*
**info 第一个参数:对应的填入选项(字符串)
**info 第二个参数:匹配的标题(正则表达式)
**info 第三个参数:(可选),当答题框为单选|多选时匹配的选项(正则表达式)
*/(function() {'use strict';const info=[["蛋片鸡",/(姓名)|(名字)/],["18711111",/(学号)/],["单选框_性别",/(性别)/,/(女)|(女生)/],["单选框_年级",/(年级)/,/(18级)|(2018级)/],["机自学院",/(学院)/],["自动化三班",/(班级)/],["计算机",/(专业)/],["11011001100",/(联系方式)|(电话)|(手机)|(手机号)/],["1000000000@qq.com",/(QQ)|(qq)/]];const ini={module:".ui-field-contain",//每个问题模块title:".field-label",//标题type:{"input_text":".ui-input-text","radio":".ui-controlgroup","checkbox":".ui-controlgroup"}};$(document).ready(function(){let itemNum = 0;$(ini.module).each(function(){itemNum += 1;let title=$(this).find(ini.title).text();console.log("title: ", title);//判断类别for(let i=0;i<info.length;i++){//匹配用户信息if(info[i][1].test(title)){//匹配到一处信息,判断答题框类型,加break!for(let tp in ini.type){console.log("tp: ", tp);let dom=$(this).find(ini.type[tp]);if(dom.length>0){switch(tp){case "input_text":$("#q"+itemNum)[0].value = info[i][0]; //赋值break;case "radio":case "checkbox":$(this).find(".ui-radio").each(function(){if(info[i].length>=3&&info[i][2].test($(this).text())){$(this).find("a")[0].click();}});break;default:console.log("ini.type中没有匹配"+tp+"的键值");}break;}}break;}}});});
})(); 

测试页面:https://www.wjx.top/vm/ryKqCXK.aspx

效果:

JavaScript——问卷星自动填写相关推荐

  1. 用Python实现问卷星自动填写(超详细!!!)

    用Python实现问卷星自动填写(超详细!!!) 前言 一.配置环境 1.1安装依赖 1.2安装驱动 二.实战处理 2.1.引入库函数 2.2.程序所需函数详解 (1)自定义单选函数 (2)自定义多选 ...

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

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

  3. python问卷星自动填写

    疫情期间闲着无聊,每天都要填写问卷星来报告健康情况,于是就拿python爬虫写了一个问卷星自动填写系统,一起来看看吧_ import requests import re import time im ...

  4. Python实现问卷星自动填写和选择

    Python实现问卷星自动填写和选择 啊哈哈哈,我朋友叫我帮他填写问卷星,,我就直接写了个python脚本帮他一次性解决 全随机,全自动,一开始我用的是BP直接抓包发送,不过发送频率过快会让你验证,, ...

  5. 问卷星自动填写JavaScrip脚本使用教程

    本文所用到的案例: https://blog.csdn.net/weixin_44343074/article/details/106133929?ops_request_misc=%257B%252 ...

  6. 问卷星自动填写python selenium脚本(2021vim版,亲测有效,看这一篇就够了)

    目录 前言 一.前期准备 二.具体步骤 1.导入库与预定义变量 2.打开浏览器,防止识别为脚本 3浏览问题,选择问题 4提交按钮,验证 全部代码 前言 问卷星已经成为收集问卷的一个很重要的工具,有时可 ...

  7. 【JavaScript】【ChormeDav】问卷星自动填写问卷

    problem 如题:钉钉在家考试,用的问卷星,只需要先提交一遍就可以获得答案,然后再填写自己的问卷. solution 单选题用XPath查找填写,random生成随机数选择选项 多选题,取出页面中 ...

  8. python爬取问卷星内容,Python 问卷星自动填写 爬虫

    Python帮你填问卷星 ps:网上看到的代码,虽然技术不深,但我觉得挺有用的,所以在此分享给大家 在某段时间朋友圈是否一直充斥着各种问卷调查,为了达成某种要求我们不断向好友求助填写问卷,今天,我就把 ...

  9. 问卷星自动填写,智能验证和滑动块

    之前在 这里 介绍了基本的问卷星填写方法,然而博主在之后自动填写时发现经常需要智能验证,而且还加一个滑动块拖动,于是今天继续研究一下添加这个功能. 下面的示例是电脑版的问卷星页面,博客里的 ff3.p ...

最新文章

  1. Codeforces Round #337 (Div. 2) D. Vika and Segments 线段树扫描线
  2. 用python随机生成数字_如何实现python随机生成数字?
  3. ADC的参数分析以及采样分析
  4. 怎么下载haarcascade_frontalface_default.xml
  5. Anaconda安装tenserflow
  6. redis创建像mysql表结构_Redis数据结构列表实现
  7. python中csv模块是自带的吗_python csv模块 Python的CSV模块,怎么新建为添加模式
  8. azure 使用_如何使用JavaScript在Azure上开始使用SignalR
  9. PAM for Kmedoids algorithm, PAM算法的实现, kmeans 算法实现. 利用scikit-learn toolbox.
  10. 怎么python安装mysql库_python在windows上怎么安装mysql数据库
  11. word文档通配符换行_这个小工具,让你word操作效率翻倍
  12. Android动态生成答题卡,〔两行哥〕OpenCV4Android教程之安卓答题卡识别
  13. 题解 - 只能吃土豆的牛牛(C++)
  14. 3. Kubernetes资源-概述
  15. 专访 iOS 技术专家孙源:开发者的成长始于“死磕”
  16. Java8——Stream流
  17. 《Get the Job You Want》 by Harvey B. Mackay
  18. php采集新闻数据插入数据库,PHP采集www.php.cn的文章,并存入数据库。
  19. 麒麟桌面系统安全中心介绍
  20. 苹果cms怎么同步图片到新浪或是七牛云存储

热门文章

  1. STM32 HAL库PID控制电机 第二章 TB6612FNG芯片驱动GB37-520电机
  2. 百度apollo planning代码学习-Apollo\modules\planning\math\piecewise_jerk\PiecewiseJerkPathProblem类代码详解
  3. 遇到这样的一个求职者,真心无力吐槽了
  4. Executors-四种创建线程的手段
  5. 2023年电工杯数学建模竞赛AB题思路代码论文资料汇总贴
  6. 人脸识别之人脸对齐(一)--定义及作用
  7. 小程序AP配网和AK配网教程(开源)
  8. jQuery源码解析(架构与依赖模块)
  9. 神经网络与深度学习(一):神经网络与数字识别
  10. VUE强制渲染,强制更新