KAIST Safety Course Bot
A bot for automatically completing the KAIST safety course.
This bot makes viewing the (quite annoying) lab safety videos automatic, so you don’t have to click many times on the videos that you need to see to complete the course. Also, considering that as of the time of writing the quiz can’t be failed, the bot can additionally complete it too 😀
First, choose you target courses in the KAIST Safety Website. Then:
- For Windows/Mac users:
- We will be using Chrome and thus the chromedriver needs to be installed and moved in the right path (look it up on Google for installation help depending on your system).
- From the Release Page, download and run files that fit your operating system.
- Run the executable file
- Modify settings (have a look at the Configuration Settings). NOTE: you need to modify the
driver_pathwith the path where chromedriver is saved
- For Linux users (or developers): We will be using Selenium for automating the webpages. The first step is to install it along with the requirements:
pip install -r requirements.txt
The bot will ask for a few configuration inputs:
answer_quiz: (default=true): if true, the bot will also answer the quiz for you
driver_path: (default=/usr/bin/chromedriver) your
chromedriverpath (look at Setup above)
mute_video(default=true) mute video
target_webpage(default=’https://safety.kaist.ac.kr/main/main.do‘) target page
username(default=’YOUR_USERNAME’) your KAIST username
video_id(default=0) the video you want to watch signed with ‘정기’ starting on the left
config.yaml file will be saved so that you don’t need to re-add these again.
You should then see some webpages automatically popping up and doing stuff!
The scope of these scripts is NOT to disregard lab safety, which is extremely important for researchers! The purpose is mainly to automate some boring stuff for fun – besides, don’t you feel like a chad cheating the system?
On a serious note, most people just find it annoying having to listen to mandatory courses they are not interested in so they skip them manually. The exam can just be passed by failing the first time and completing the answers after knowing the results. So my question is: does this make sense? Why not just automate this tedious and – for most – time-wasting process?
PS: I’m not responsible for inappropriate use of this software of course 😉 Feel free to contact me anytime though if you need help or have some feedback
- When the quiz is passed (>=60 points scored) the bot gets stuck since it cannot find the “NEXT” button. In this case, check if the quiz has been passed and you can stop the script with
Ctrl+C. This could be fixed by checking the page source for keywords related to the completion.
- Only Easy Authentication works for now (간편 2단계 인증), so you need to set it up first Setup instructions
- After answering the quiz, the bot crashes: if it does though good news, you should have completed the lesson 😉
- v0.2.0: new GUI
- Added GUI with PySimpleGUI
- In-app help and link
- Add stoppable thread for selenium driver
- Source code polishing
- Misc. fixes
- v0.1.0: first release
Feel free to contribute and open Issue/PRs!
Here are some ideas of things to be done:
- Create executable for Windows/Mac
- Add GUI
- Automatic course selection (everything would be automatic this way)
- Add other authentication methods if user does not have Easy Auth
- Fix final step: although the quiz is answered correctly, the user does not have any prompt about the finished course since the bot crashes
- Progress bar or better progress print – now each second there is a bit ugly printing
- Add tests for Windows version
- Add tests for Mac version
- Add tests for Linux version
- … Any additional feedback!
You may also try reusing some code for automating something else ^^
PS: the original scope was to save time, but I took much longer to create this bot rather than just clicking on the screen myself and remembering the answers kkk. Hopefully though, it will save other people’s time!