JavaScript——问卷星自动填写
一、前言:
我们学校要刷学术章,有些学术章又是指定在某个时间点填写问卷星的问卷报名的。但是由于我手速慢,导致总会有些时候报不上名,于是想着搞个代码实现自动填写问卷星的报名表。一顿操作后,在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——问卷星自动填写相关推荐
- 用Python实现问卷星自动填写(超详细!!!)
用Python实现问卷星自动填写(超详细!!!) 前言 一.配置环境 1.1安装依赖 1.2安装驱动 二.实战处理 2.1.引入库函数 2.2.程序所需函数详解 (1)自定义单选函数 (2)自定义多选 ...
- 学习python实现问卷星自动填写问卷
学习python实现问卷星自动填写问卷 文章目录 学习python实现问卷星自动填写问卷 任务一:找帖子 思路一: 配置环境: 利用CSS选择器对页面进行解析 我们发现,我们所有的题目的回答的选项的标 ...
- python问卷星自动填写
疫情期间闲着无聊,每天都要填写问卷星来报告健康情况,于是就拿python爬虫写了一个问卷星自动填写系统,一起来看看吧_ import requests import re import time im ...
- Python实现问卷星自动填写和选择
Python实现问卷星自动填写和选择 啊哈哈哈,我朋友叫我帮他填写问卷星,,我就直接写了个python脚本帮他一次性解决 全随机,全自动,一开始我用的是BP直接抓包发送,不过发送频率过快会让你验证,, ...
- 问卷星自动填写JavaScrip脚本使用教程
本文所用到的案例: https://blog.csdn.net/weixin_44343074/article/details/106133929?ops_request_misc=%257B%252 ...
- 问卷星自动填写python selenium脚本(2021vim版,亲测有效,看这一篇就够了)
目录 前言 一.前期准备 二.具体步骤 1.导入库与预定义变量 2.打开浏览器,防止识别为脚本 3浏览问题,选择问题 4提交按钮,验证 全部代码 前言 问卷星已经成为收集问卷的一个很重要的工具,有时可 ...
- 【JavaScript】【ChormeDav】问卷星自动填写问卷
problem 如题:钉钉在家考试,用的问卷星,只需要先提交一遍就可以获得答案,然后再填写自己的问卷. solution 单选题用XPath查找填写,random生成随机数选择选项 多选题,取出页面中 ...
- python爬取问卷星内容,Python 问卷星自动填写 爬虫
Python帮你填问卷星 ps:网上看到的代码,虽然技术不深,但我觉得挺有用的,所以在此分享给大家 在某段时间朋友圈是否一直充斥着各种问卷调查,为了达成某种要求我们不断向好友求助填写问卷,今天,我就把 ...
- 问卷星自动填写,智能验证和滑动块
之前在 这里 介绍了基本的问卷星填写方法,然而博主在之后自动填写时发现经常需要智能验证,而且还加一个滑动块拖动,于是今天继续研究一下添加这个功能. 下面的示例是电脑版的问卷星页面,博客里的 ff3.p ...
最新文章
- Codeforces Round #337 (Div. 2) D. Vika and Segments 线段树扫描线
- 用python随机生成数字_如何实现python随机生成数字?
- ADC的参数分析以及采样分析
- 怎么下载haarcascade_frontalface_default.xml
- Anaconda安装tenserflow
- redis创建像mysql表结构_Redis数据结构列表实现
- python中csv模块是自带的吗_python csv模块 Python的CSV模块,怎么新建为添加模式
- azure 使用_如何使用JavaScript在Azure上开始使用SignalR
- PAM for Kmedoids algorithm, PAM算法的实现, kmeans 算法实现. 利用scikit-learn toolbox.
- 怎么python安装mysql库_python在windows上怎么安装mysql数据库
- word文档通配符换行_这个小工具,让你word操作效率翻倍
- Android动态生成答题卡,〔两行哥〕OpenCV4Android教程之安卓答题卡识别
- 题解 - 只能吃土豆的牛牛(C++)
- 3. Kubernetes资源-概述
- 专访 iOS 技术专家孙源:开发者的成长始于“死磕”
- Java8——Stream流
- 《Get the Job You Want》 by Harvey B. Mackay
- php采集新闻数据插入数据库,PHP采集www.php.cn的文章,并存入数据库。
- 麒麟桌面系统安全中心介绍
- 苹果cms怎么同步图片到新浪或是七牛云存储
热门文章
- STM32 HAL库PID控制电机 第二章 TB6612FNG芯片驱动GB37-520电机
- 百度apollo planning代码学习-Apollo\modules\planning\math\piecewise_jerk\PiecewiseJerkPathProblem类代码详解
- 遇到这样的一个求职者,真心无力吐槽了
- Executors-四种创建线程的手段
- 2023年电工杯数学建模竞赛AB题思路代码论文资料汇总贴
- 人脸识别之人脸对齐(一)--定义及作用
- 小程序AP配网和AK配网教程(开源)
- jQuery源码解析(架构与依赖模块)
- 神经网络与深度学习(一):神经网络与数字识别
- VUE强制渲染,强制更新