Skip to content

Instantly share code, notes, and snippets.

@aleister1102
Last active February 28, 2024 20:22
Show Gist options
  • Save aleister1102/7fc412b096e205224842762ef3723793 to your computer and use it in GitHub Desktop.
Save aleister1102/7fc412b096e205224842762ef3723793 to your computer and use it in GitHub Desktop.
Script camp đăng ký học phần sử dụng Tampermonkey
var expectedCourses = {CSC11002: "20_4",CSC15002: "20_22"}
var interval = 10
function register() {
const courses = document.querySelectorAll("table:not(#tbDSDaDK) tbody tr")
const submit = document.querySelectorAll("input[type='submit']")[1]
function selectExpectedCourses() {
let found = false
courses.forEach((course) => {
const id = course.querySelector("td:nth-of-type(1)").textContent.trim()
const classId = course.querySelector("td:nth-of-type(3)")?.textContent.trim()
const checkbox = course.querySelector("td:last-of-type").querySelector("input[type='checkbox']")
if (id in expectedCourses && classId === expectedCourses[id] && checkbox) checkbox.checked = found = true
})
return found
}
if (selectExpectedCourses()) submit.click()
}
register()
setTimeout(() => window.location.reload(), interval * 1000)
@aleister1102
Copy link
Author

aleister1102 commented Feb 6, 2023

Hướng dẫn xài tool

Thực hiện các bước sau để có một ngày đăng ký học phần xinh đẹp tuyệt vời 🌹:

  1. Tải extenstion Tampermonkey cho trình duyệt.
  2. Vào trang đăng ký học phần.
  3. Tạo mới một script của Tampermonkey và copy đoạn code ở trên vào.
  4. Ghi mã của các học phần và mã lớp mà bạn muốn đăng ký vào dòng số 1 như sau:
  • Nếu bạn muốn đăng ký lớp có mã học phần là CSC11002 và mã lớp là 20_4: bạn sẽ ghi là CSC11002: "20_4".
  • Mỗi môn sẽ cách nhau bởi một dấu phẩy.
  1. Ghi thời gian mà bạn muốn trang reload vào dòng số 2.
  2. Enable script ở trang đăng ký học phần.

@aleister1102
Copy link
Author

aleister1102 commented Feb 6, 2023

Lưu ý 1: để đánh nhanh thắng nhanh, bạn nên chuẩn bị trước một ngày bạn nhé 😉.

Đồng thời, nếu trang web bạn sử dụng để thiết lập tool là portal# (với # là từ 1 đến 6), bạn cần sử dụng portal# khi đăng ký.

Hoặc nếu bạn rảnh thì bạn tạo script hết tất cả các trang từ 1 đến 6 cho rồi 🤷‍♀️.

@aleister1102
Copy link
Author

aleister1102 commented Feb 6, 2023

Lưu ý 2: mỗi lần đăng ký thì web sẽ tự động hỏi "Bạn có muốn đăng ký không", bạn cần phải bấm cái này bằng tay vì trình duyệt không cho phép tool làm dùm 🥹

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment