# 使用注意

本文说明脚本对正方自主选课页面的加载、展开与换课要求。

## 页面加载要求

脚本只能读取当前页面 DOM 中已经存在的课程和教学班。开始前请先在自主选课页面使用学校系统自带的搜索功能，把目标课程加载到课程列表中。

推荐使用课程号精确搜索。课程名可能存在简称、同名课、教学班名称截断或页面定制差异，课程号更稳定。

如果目标课程还在页面底部的“点此查看更多”之后，或需要继续查询/翻页后才会出现在列表中，脚本无法找到该课程，也无法对该课程执行选课或退选前置操作。此时请先手动加载更多或重新搜索，直到目标课程明确呈现在页面中。

## 课程详情展开

“点此查看更多”和“展开课程详情”是两件事：

- “点此查看更多”会让正方页面继续加载更多课程进当前列表。
- “展开课程详情”是在课程已经出现后，展开该课程下的教学班、教师、时间、容量和操作按钮。

脚本会在需要时间过滤或教师过滤时自动尝试展开目标课程详情；页面刷新或搜索刷新后，正方系统可能重建 DOM 并折叠已展开课程，脚本也会再次尝试展开目标课程。

自动展开不能替代“点此查看更多”。如果课程从未加载进当前页面，脚本没有可操作的 DOM 节点。

## 换课功能

换课，也就是“骑驴找马”，会在目标课程出现空位时，先退选配置中的替换课程，再尝试选择目标课程。

使用时请确认：

1. 目标课程已经出现在当前页面列表中。
2. 替换课程已经在右侧或已选课程区域中显示，并且页面上能看到“退选”按钮。
3. 替换课程尽量使用课程号填写，避免课程名简称或同名课程导致匹配不稳定。

退选后目标课程可能被其他人抢走，因此换课天然存在“退了旧课但没抢到新课”的风险。请只在能接受该风险时使用。

## 刷新影响

脚本会周期性刷新课程列表来观察余量变化。正方页面刷新列表时通常会还原为当前搜索结果的初始展示状态，之前手动加载的更多课程可能消失。

如果学校课程量很大，需要连续多次点击“点此查看更多”才能看到目标课程，建议先用课程号搜索缩小结果范围，再启动脚本。不要依赖持续刷新去维护一长串手动加载出来的课程列表。
