데이터베이스 설계

논리설계

물리설계

기능 설계

main.py

  • __main__ : 출석체크를 실행 할 도메인, 계정 목록을 읽어온 뒤 attendance 인스턴스를 생성 한 뒤 실행한다. 실행 시 목록의 갯수만큼 쓰레드를 생성 한 뒤 실행한다.

attendance.py

  • __init__ : 인스턴스를 초기화 한다. 행동해야할 목록을 가져 온 뒤 인스턴스 변수에 넣는다.
  • run : 출석체크를 진행한다. 출석체크 진행 시 필요한 가상 브라우저(셀레니움)를 초기화 하며, 사전에 정의 된 브라우징 행동정보를 실행하는 run_action 함수를 호출한다. 예외 발생 시 5회 까지 재시도 후 완료 처리한다.
  • run_action : 각 행동 타입에 맞게 분기 처리 하여 하위 6가지 행동을 실행한다.
행동구분행동정의함수json 데이터 정의
move특정 url로 이동한다.move_urllocation : 이동할 페이지
input엘리먼트에
값을 입력한다.
input_valuexpath : 탐색 할 엘리먼트 경로
value : 입력할 값
decrypt : 암호화 데이터 여부
click엘리먼트를 클릭한다.click_elementxpath : 탐색 할 엘리먼트 경로
confirmalert, confirm창을 닫는다.confirm_alert
captcha캡차처리를 진행한다.
1.이미지 인식
2.문자입력
3.확인
pass_captchaimg_xpath : 캡차 이미지 경로
input_xpath : 캡차 문자 입력 경로
click_xpath : 클릭할 버튼 경로
complate_msg : 성공 메세지
if_captcha캡차가 존재하면 진행한다.
1.이미지 인식
2.문자입력
3.확인
if_pass_captchaimg_xpath : 캡차 이미지 경로
input_xpath : 캡차 문자 입력 경로
click_xpath : 클릭할 버튼 경로
complate_msg : 성공 메세지