学生事务管理平台自动填写互评
这每个20填过去再提交哪是人填的
🐶
🐶
🐶
🐶
基于科技改命,我选择了写脚本,那自然就得从登录页面开始写了
访问该请求服务器会让我们set-cookie,所以我用requests.session来维持会话
抓login包,
不验证验证码就离谱!!
源码
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2021-03-18 19:08
# @Author : wxc
# @File : 学生事务管理平台.py
# @Desc :
import requests
import urllib3
import time
print("程序开始.....")
# 忽略verify=False
requests.packages.urllib3.disable_warnings()
login_url = "https://xssw.zjgsu.edu.cn/#/login"
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.104 Safari/537.36'
}
session = requests.session()
session.headers = headers
session.verify = False
# 维持cookie
print("正在获取cookies...")
session.get(url=login_url)
# print(session.cookies)
xgh = input("请输入账号:")
password = input("密码:")
data = {
# 'captcha': "1234",
# 'key': "eyJpdiI6IlU1RjFCYmtiSSsxeWV0Sm5BV1VKVkE9PSIsInZhbHVlIjoiUjViVjk1ZkpjOTZuZlpicEl6S2hUM1M4MXE5NG5hUDhZbndyU3RvWnFTUEhjNWU0ZDc4cWpoeXFLOWdsbDZHcVp1YkwrQW1TNCtMenVjd1Z2bEVQaXRjZXBBVFZHYnJCVlMzam04QU5cL01ZPSIsIm1hYyI6IjgzOTI5OGI2OWQzOGM3MmRhZDQ5NzI2MTVhMTI0NTBkODhmODViZDFiOTllMDI1MTU5MjViMzY3ZDdhZWI1NGUifQ==",
'password': password,
'unionid': None,
'xgh': xgh
}
login_url = "https://xssw.zjgsu.edu.cn/api/v1/login"
login_json_data = session.post(url=login_url, data=data).json()
print(login_json_data)
if login_json_data['errorCode'] != 0:
print(login_json_data['data']['message'])
print("程序结束....")
time.sleep(5)
exit(0)
# 记录 access_token
access_token = login_json_data['data']['access_token']
session.cookies['token'] = access_token
student_desc = session.get(
"https://xssw.zjgsu.edu.cn/api/v1/home/complex/evaluate/getGroupList?set_id=121&type=1").json()
for item in student_desc['data']:
for i in range(1, 3):
data = {"option1": 20, "option2": 20, "option3": 20, "option4": 20, "option5": 20, "set_id": "121", "type": i,
"xgh": item['xgh']}
url = 'https://xssw.zjgsu.edu.cn/api/v1/home/complex/evaluate/group'
json_data = session.post(url, json=data).json()
if i == 1:
Name = "品德素质"
else:
Name = "心理素质"
total_score = data['option1'] + data['option2'] + data['option3'] + data['option4'] + data['option5']
print("type=" + Name + " " + item['xm'] + json_data['message'] + " 分数是:" + str(total_score))
print("程序结束....")
time.sleep(10)
打包好的exe
https://pan.baidu.com/s/1KfcZM7-iZlySv0_D8vNO7g
提取码 fifk
使用说明
是给所有同学默认都打100分
并且心理素质和品德素质都是100分
由于写的比较潦草,可能会出现一些意想不到的Bug,见谅哈
使用的话直接下载下面的exe打开即可
程序结束后会过3s退出
输入用户名和密码
如果有python环境的直接复制我的代码跑就可了
另一种方法
其实要快速填20的话控制台输点js也行
nodeList = document.querySelectorAll(".el-input__inner")
for(let i = 6;i<nodeList.length;i++){
nodeList[i].value = 20;
}
每个提交点击过去,注意有个延时
buttons = document.querySelectorAll(".el-button")
for(let i = 1;i<buttons.length;i++){
(function(i) {
setTimeout(function() {
buttons[i].click();
},i * 3000);
})(i)
}