24년도 첫 목표 중 하나는 정보처리기사 취득이었다.
But 기사 취득의 꿈은 몇 달 간 미뤄지게 됐다. 시험 접수에 실패했기 때문이다.
한 달 전부터 시험 일정은 미리 파악을 하고 있었지만, 이렇게 빨리 마감이 될 줄은 상상도 못했다.
시험 일정이 1년에 고작 4번이라 그런가..
여유롭게 오후 2시쯤 시험을 신청하려고 사이트를 접속했는데, 제주도를 제외한 모든 지역에서의 시험이 이미 마감돼 있었다. 하하 ..
계속 조회 버튼을 누르며 누군가가 취소하기를 기다렸다.
한 10분을 삽질하고 있으니까 손목도 아프고 현타 오더라.
그래서 그냥 매크로를 만들었다.
사람이 직접하면 조회 버튼 '광클 -> 신청 -> 접수하기'의 3단계를 거쳐야 하지만, 매크로를 이용하면 접수하기 하나만 누르면 페이지가 넘어가도록 설정했다.
자리가 생기면 신청까지 눌러주고 치지직 하는 노이즈 사운드로 알려주는 방식.
다른 일하다가 소리가 들리면 재빠르게 접수하기 버튼을 누르면 된다.
접수하기까지 누르고 페이지가 넘어가도록 만들어도 되지만, 귀찮기도 하고 ... 그렇게까지 급한 것도 아니고 ...
그냥 재미삼아 만들었으니 여기서 만족 !
// 버튼을 클릭하는 함수 정의
function clickButton() {
var button = document.getElementsByName('schBtn')[0];
if (button) {
button.click(); // 버튼 클릭
console.log("조회 버튼을 클릭했습니다.");
} else {
console.log("조회 버튼을 찾을 수 없습니다.");
}
}
// 치지직 사운드 재생
function playSound() {
var audioContext = new (window.AudioContext || window.webkitAudioContext)();
var bufferSize = 4096;
var audioBuffer = audioContext.createBuffer(1, bufferSize, audioContext.sampleRate);
var output = audioBuffer.getChannelData(0);
for (var i = 0; i < bufferSize; i++) {
// -1과 1 사이의 랜덤값 생성
output[i] = Math.random() * 2 - 1;
}
var source = audioContext.createBufferSource();
source.buffer = audioBuffer;
source.connect(audioContext.destination);
source.start();
}
// 일정 시간마다 버튼을 클릭하는 함수 실행
function clickButtonRepeatedly(interval) {
var intervalId = setInterval(function() {
clickButton(); // 조회 버튼 클릭
var applyButton = document.querySelectorAll('.btn3_type1')[0];
// 여석이 생기면 치지직하는 소리와 함께 반복 종료
if (applyButton){
applyButton.click();
playSound();
console.log("신청 버튼을 클릭했습니다");
clearInterval(intervalId); // applyButton 클릭 시 setInterval 멈춤
}
}, interval);
}
// 매크로 실행 (예: 3초마다 조회 버튼 클릭)
clickButtonRepeatedly(100); // 3000ms = 3초
매크로 돌려서 자리를 잡긴 했지만, 시험 일정을 보니 딱 시험이 있는 주였다.
빠가야로
'Side Project' 카테고리의 다른 글
커뮤니티 만들기(2) - 주제 선정, 설계 (0) | 2024.03.13 |
---|---|
커뮤니티 만들기(1) - 아이디어 (1) | 2024.03.13 |
24년도 첫 목표 중 하나는 정보처리기사 취득이었다.
But 기사 취득의 꿈은 몇 달 간 미뤄지게 됐다. 시험 접수에 실패했기 때문이다.
한 달 전부터 시험 일정은 미리 파악을 하고 있었지만, 이렇게 빨리 마감이 될 줄은 상상도 못했다.
시험 일정이 1년에 고작 4번이라 그런가..
여유롭게 오후 2시쯤 시험을 신청하려고 사이트를 접속했는데, 제주도를 제외한 모든 지역에서의 시험이 이미 마감돼 있었다. 하하 ..
계속 조회 버튼을 누르며 누군가가 취소하기를 기다렸다.
한 10분을 삽질하고 있으니까 손목도 아프고 현타 오더라.
그래서 그냥 매크로를 만들었다.
사람이 직접하면 조회 버튼 '광클 -> 신청 -> 접수하기'의 3단계를 거쳐야 하지만, 매크로를 이용하면 접수하기 하나만 누르면 페이지가 넘어가도록 설정했다.
자리가 생기면 신청까지 눌러주고 치지직 하는 노이즈 사운드로 알려주는 방식.
다른 일하다가 소리가 들리면 재빠르게 접수하기 버튼을 누르면 된다.
접수하기까지 누르고 페이지가 넘어가도록 만들어도 되지만, 귀찮기도 하고 ... 그렇게까지 급한 것도 아니고 ...
그냥 재미삼아 만들었으니 여기서 만족 !
// 버튼을 클릭하는 함수 정의
function clickButton() {
var button = document.getElementsByName('schBtn')[0];
if (button) {
button.click(); // 버튼 클릭
console.log("조회 버튼을 클릭했습니다.");
} else {
console.log("조회 버튼을 찾을 수 없습니다.");
}
}
// 치지직 사운드 재생
function playSound() {
var audioContext = new (window.AudioContext || window.webkitAudioContext)();
var bufferSize = 4096;
var audioBuffer = audioContext.createBuffer(1, bufferSize, audioContext.sampleRate);
var output = audioBuffer.getChannelData(0);
for (var i = 0; i < bufferSize; i++) {
// -1과 1 사이의 랜덤값 생성
output[i] = Math.random() * 2 - 1;
}
var source = audioContext.createBufferSource();
source.buffer = audioBuffer;
source.connect(audioContext.destination);
source.start();
}
// 일정 시간마다 버튼을 클릭하는 함수 실행
function clickButtonRepeatedly(interval) {
var intervalId = setInterval(function() {
clickButton(); // 조회 버튼 클릭
var applyButton = document.querySelectorAll('.btn3_type1')[0];
// 여석이 생기면 치지직하는 소리와 함께 반복 종료
if (applyButton){
applyButton.click();
playSound();
console.log("신청 버튼을 클릭했습니다");
clearInterval(intervalId); // applyButton 클릭 시 setInterval 멈춤
}
}, interval);
}
// 매크로 실행 (예: 3초마다 조회 버튼 클릭)
clickButtonRepeatedly(100); // 3000ms = 3초
매크로 돌려서 자리를 잡긴 했지만, 시험 일정을 보니 딱 시험이 있는 주였다.
빠가야로
'Side Project' 카테고리의 다른 글
커뮤니티 만들기(2) - 주제 선정, 설계 (0) | 2024.03.13 |
---|---|
커뮤니티 만들기(1) - 아이디어 (1) | 2024.03.13 |