Skip to content

xiaoshumiwm/XJXKFW

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 

Repository files navigation

XJXKFW

西安交通大学选课自动化 西安交通大学选课包括以下选择:

1、选课学期可以用9位数字表示,如2024-2025学年小学期记作:202420253.
2、登入选课服务必须经过统一身份认证
3、在金智教育选课系统中完成选课轮次选择-课程类别选择-选择具体课程(001.py是为第一轮选课设计的)
4、第一轮选课抽签,第二轮抢课,第三轮补充

环境要求

下载了Chrome和ChromeDriver 开发时使用了python3.12.9和schedule-1.2.2,selenium3.3.0 有计时模块,所以应当正确设置计算机时间。 应当在校园网环境下

代码说明

if __name__ == '__main__':
    username = "XXXXXXXXXX"  # 统一身份认证账号
    password = "XXXXXXXX"  # 统一身份认证密码
    target_courses = ["算法", "测控"] #目标选择课程列表
    start_time_str = input("请输入定时开始时间(格式:YYYY-MM-DD HH:MM:SS):")

原理说明

程序使用跳转时中间链接直接进入统一身份认证的认证界面,模拟键盘输入在对应文本框中输入对应账号和密码并点击登录,进入后选择了表格中第三个选课轮次(这个部分可以修改,根据自己的实际需求)。

Line73  if len(elective_batch_radio_list) >= 3:#修改这里
            # 点击第三个按钮(索引从0开始)
            elective_batch_radio_list[2].click()#修改这里
            print("第三个选课批次按钮已选择。")
        else:
            print("页面上没有足够的选课批次按钮。")

当前版本不限选课轮次 随后直接进入主修推荐课程列表,并读取列表上的课程名,从用户给定的目标选择课程列表选择对应课程(模拟点击列表,选择第一个备选进入志愿)并等待150秒后关闭。选课时会在控制台打印课程信息。

注意:没有做异常处理,如果这个界面报出不能选课(因为各种原因),程序就会卡在这里。
注意:没有做选择其他门类的点击,等我考完期末更新。
注意:没有做在多个可选课程中选择一个的代码,待更新。
另外程序还是模拟的浏览器的操作,所以只比手动快一点点

创作声明

和KIMI的AI共同合作。欢迎PR!

About

西安交通大学选课自动化

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages