데이터베이스 설계
논리설계

물리설계

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