Skip to content

Instantly share code, notes, and snippets.

@Verssae
Last active December 21, 2024 06:14
Show Gist options
  • Save Verssae/0ed510986e87a8360965daaef3608861 to your computer and use it in GitHub Desktop.
Save Verssae/0ed510986e87a8360965daaef3608861 to your computer and use it in GitHub Desktop.
한양대 안전교육 스킵 스크립트
/*
Hanyang Univ. a script for skipping safetyedu courses
http://safetyedu.hanyang.ac.kr/
[교육 영상 스킵]
1. '수강하기' 버튼을 눌러 안전교육 창을 띄운다.
2. 개발자도구(F12 버튼을 눌러)를 열어 'console' 탭에 이동해 아래 스크립트를 붙여넣는다.
3. 6과목에 대해 반복한다.
ref: https://kysgh2.tistory.com/113
*/
var currentPage = nowPageNum;
function goNextPage() {
if (currentPage < totalPageNum) {
opener.PageMove(currentPage);
console.log(`${currentPage} 페이지를 수강완료했습니다.`);
currentPage += 1;
setTimeout(function () {
goNextPage();
}, 100);
} else {
opener.PageMove(currentPage);
console.log('강의 수강이 완료되었습니다!');
setTimeout(function () {
window.close();
}, 200);
}
}
setTimeout(function () {
goNextPage();
}, 100)
/*
[퀴즈 스킵]
1. 6과목을 다 듣고 '평가하기' 버튼을 누른다.
2. 개발자도구(F12 버튼을 눌러)를 열어 'console' 탭에 이동해 아래 스크립트를 붙여넣는다.
*/
SetExamAfeter();
let answers = Array.from({length: questionCountInExam}, (x,i) => document.getElementById("qustionCorrectNo_" + i).value);
SetExamBefore();
for (let i=0; i<questionCountInExam; i++) {
let ls = document.getElementsByName(`qustionAnswerList[${i}].Answer`);
console.log(ls);
ls[answers[i]-1].checked = true;
}
document.getElementById("Exam_btnSave").click();
@shyuuuuni
Copy link

좋은 정보 감사합니다.

@qsc7342
Copy link

qsc7342 commented Nov 15, 2022

유익한 글이에요.

@0seob
Copy link

0seob commented Nov 16, 2022

최근에 본 글 중 가장 퀄리티가 높네요.

@milbae
Copy link

milbae commented Mar 27, 2023

유익한 글입니다 감사합니다!

@dev-jjjjjeong-bin
Copy link

좋은 정보 감사합니다 벌새님

@MichaelKimseongje
Copy link

감사합니다.

@hungrypro7
Copy link

감사합니다

@jang-geon
Copy link

비정상 방법이라고 초기화 되네요ㅜ

@Vari2ty331
Copy link

2024년 2학기 도중에 새 엔진이 들어와서 그런지 작동 안하는 강의가 있네요

@Vari2ty331
Copy link

2024년 2학기 도중에 새 엔진이 들어와서 그런지 작동 안하는 강의가 있네요

document.querySelector('video').playbackRate = 16;

동영상 전용이여서 그런가봅니다. 동영상에 최대 16배속 걸어두면 빠르게 해결됩니다.

@kcyoow
Copy link

kcyoow commented Dec 17, 2024

동영상 전용 해결방법
const formData = new FormData();
formData.append('scheduleMemberProgressNo', '1361183(예시)'); // 영상 링크중에 scheduleMemberProgressNo 뒤에 번호 넣으시면 됩니다
formData.append('currentTime', '1');
formData.append('isEnd', 'true');

fetch('https://safetyedu.hanyang.ac.kr/Edu/AviProcessCheck', {
method: 'POST',
body: formData
})
.then(response => response.text())
.then(data => {
console.log('서버 응답:', data);
})
.catch(error => {
console.error('에러 발생:', error);
});

"서버 응답: {"IsSuccess":true,"Msg":""}"
요렇게 뜨시면 나가시고 새로고침 하면 적용됩니다.
몇번 테스트해보긴 했는데 일단 저는 잘 작동했습니다.

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