Python UF Auto Course-enroller

At UF, like many other universities, sometimes it would be a pain to enroll in a course that you wanted or needed for a specific semester. Usually, higher year students had priority seating, which was understandable. But in my first semester, I was a whole 3 months late to course registration due to processing my transfer credits and completing the enrollment process. So in order to get into the courses that I needed, I made a small app to enroll me into courses as soon as a seat became available.

The app, probably better called a simple script, was made in Python, using Selenium to scrub through the UF enrollment website. The app had several features. The usual flow was that I would give it the course ID’s that I wanted, and whether I wanted to attempt to enroll me or simply notify me.

The app would scrub the website, usually every 20 minutes, and see if any of the courses I selected had a seat available. If there was a seat available, it would send me an email, and depending on the setting I gave for that course, it would attempt to enroll me. It would also take a snapshot of the course information as well as my current schedule and send that to my email along with the notifications. I even made a quick web front end for the app to be able to view it’s logs as well as my current schedule.

Screenshot of page with some output

Honestly, I was too lazy to navigate through UF’s atrocious schedule UI to find my courses. The web front end is still accessible, though the schedule has been disabled for years. After I started getting seniority when scheduling courses, the scheduler was no longer so useful. Though, I did use it for some of my friends at UF; to notify them when ever a course was available.

The source code can be viewed at

https://gist.github.com/Jazy5552/2787512ee9c5f740047a6daa7fe5d032

Leave a Reply