教务系统请假删除助手 - 快速删除请假记录
import tkinter as tk import requests cookies = { '_webvpn_key': 'eyJhbGciOiJIUzI1NiJ9.eyJ1c2VyIjoiMjAwNTAyMTQwMjI0IiwiZ3JvdXBzIjpbMTIxLDFdLCJpYXQiOjE2ODA4Nzk5ODMsImV4cCI6MTY4MDk2NjM4M30.NbCh7GQDfdGMmEKg-2CRw6vGuuhGvuyClzsXWkL4TMY', 'webvpn_username': '200502140224%7C1680879983%7C92b70d0a01a6b70b67df9fb695a05fe64f574000', 'JSESSIONID': '88E5F0A4D2E6C19117A295797417F737', } headers = { 'authority': 'jwgl.webvpn.nepu.edu.cn', 'accept': 'application/json, text/javascript, /; q=0.01', 'accept-language': 'zh-CN,zh;q=0.9', 'content-type': 'application/x-www-form-urlencoded; charset=UTF-8', 'dnt': '1', 'origin': 'https://jwgl.webvpn.nepu.edu.cn', 'referer': 'https://jwgl.webvpn.nepu.edu.cn/new/student/xsqjsq', 'sec-ch-ua': ''Google Chrome';v='111', 'Not(A:Brand';v='8', 'Chromium';v='111'', 'sec-ch-ua-mobile': '?0', 'sec-ch-ua-platform': ''macOS'', 'sec-fetch-dest': 'empty', 'sec-fetch-mode': 'cors', 'sec-fetch-site': 'same-origin', 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36', 'x-requested-with': 'XMLHttpRequest', }
def sendtoserver(_webvpn_key, JSESSIONID1, webvpn_username): cookies['_webvpn_key']=_webvpn_key cookies['JSESSIONID']=JSESSIONID1 cookies['webvpn_username']=webvpn_username
data = {
'page': '1',
'rows': '20',
'sort': 'k501.cjsj',
'order': 'desc',
}
response = requests.post('https://jwgl.webvpn.nepu.edu.cn/new/student/xsqjsq/datas', cookies=cookies, headers=headers, data=data)
print(response.text)
res_json=response.json()
bingding = []
for i in res_json['rows']:
print(i['qsrq'],i['qssj'],i['jsrq'],i['jssj'],i['bz'])
bingding.append(i['qsrq']+' '+i['qssj']+' '+i['jsrq']+' '+i['jssj']+' '+i['bz']+'sqdm:'+i['sqdm'])
return bingding
def on_submit(): # 获取文本框的值并调用sendtoserver函数 _webvpn_key = entry1.get() JSESSIONID1 = entry2.get() webvpn_username = entry3.get() result = sendtoserver(_webvpn_key, JSESSIONID1, webvpn_username)
# 在列表框中添加返回结果
for i in result:
listbox.insert(tk.END, i)
def on_delete(): # 获取选中的信息并调用del函数 selection = listbox.curselection() if selection: sqdm = listbox.get(selection[0]).split('sqdm:')[1] del_function(sqdm)
# 从列表框中删除选中的信息
listbox.delete(selection)
def del_function(sqdm): data = { 'action': '1',# 1:新增 2:修改 3:删除 'pk': sqdm, 'qsrq': '2023-04-08',# 请假开始日期 'jsrq': '2023-04-08',# 请假结束日期 'qsjcdm': '01', 'jsjcdm': '01', 'qjxss': '1',# 请假小时数 'qjlxdm': '02',# 请假类型 'ts': '0.08',# 请假天数 'bz': '生病',# 请假事由 'sflx': '1',# 是否连续 'sfxwzs': '0',# 是否校外住宿 'filename': '', 'filepath': '', }
response = requests.post('https://jwgl.webvpn.nepu.edu.cn/new/student/xsqjsq/update', cookies=cookies, headers=headers, data=data)
print(response.text)
response1 = requests.post('https://jwgl.webvpn.nepu.edu.cn/new/student/xsqjsq/delete', cookies=cookies, headers=headers, data=data)
print(response1.text)
创建主窗口和文本框
window = tk.Tk() window.title('删除请假助手') label1 = tk.Label(window, text='_webvpn_key:') label1.grid(row=0, column=0) entry1 = tk.Entry(window) entry1.grid(row=0, column=1) label2 = tk.Label(window, text='JSESSIONID1:') label2.grid(row=1, column=0) entry2 = tk.Entry(window) entry2.grid(row=1, column=1) label3 = tk.Label(window, text='webvpn_username:') label3.grid(row=2, column=0) entry3 = tk.Entry(window) entry3.grid(row=2, column=1)
创建确定按钮和删除按钮
submit_button = tk.Button(window, text='确定', command=on_submit) submit_button.grid(row=3, column=0, columnspan=2) delete_button = tk.Button(window, text='删除', command=on_delete) delete_button.grid(row=4, column=0, columnspan=2)
创建列表框
listbox = tk.Listbox(window) listbox.grid(row=5, column=0, columnspan=5)
def open_help(): # 创建帮助窗口 help_window = tk.Toplevel(window) help_window.title('使用步骤') help_window.geometry('300x200')
# 在帮助窗口中添加标签
label1 = tk.Label(help_window, text='使用步骤:')
label1.pack()
label2 = tk.Label(help_window, text='1. 登录网页版教务系统')
label2.pack()
label3 = tk.Label(help_window, text='2. 按下F12')
label3.pack()
label4 = tk.Label(help_window, text='3. 在右侧选项卡中选择应用程序')
label4.pack()
label5 = tk.Label(help_window, text='4. 复制每个值到当前程序的文本框')
label5.pack()
label6 = tk.Label(help_window, text='5. 点击确定按钮')
label6.pack()
label7 = tk.Label(help_window, text='6. 选中想要删除的请假条目并点击删除按钮')
label7.pack()
创建帮助按钮
help_button = tk.Button(window, text='帮助', command=open_help) help_button.grid(row=6, column=0, columnspan=2)
进入主循环
window.mainloop()
原文地址: https://www.cveoy.top/t/topic/ndnW 著作权归作者所有。请勿转载和采集!