안전보건공단 인터넷 교육센터 스킵(코드 없음)

코드를 공개하지 않는 이유는 충분히 악용될 소지가 있기 때문이다.

본 글에서는 간단하게 어떻게 구현하였는지 로직을 설명하고자한다.

먼저 Python3와 Selenium을 이용하여 구현하였고, 아래와 같은 로직을 따른다.

1. 셀레니움으로 크롬을 실행하고, 로그인을 실행한 후 강의실로 이동한다.
2. 강좌를 연다.
3. 윈도우 스위칭한다.
4. 강좌가 플레이되는 Iframe으로 이동한다.
5. 플레이가 되지 않을 경우 플레이 버튼을 누른다.
6. nextBubble이 활성화 되면 다음을 누른다.
7. loadActForm이 있을 경우,
  1) txt 필드가 있으면 아무값을 입력한다.
  2) button을 순차적으로 클릭한다.
8. 경고창이 뜰 경우, 해당 강좌를 종료하고 2번으로 돌아가 다음 강좌를 연다.

사실 메인 기능이라 할 수 있는 nextBubble이 활성화 되면 부분이 중요한데, Selenium은 화면에 보이지 않는 객체를 가져오지 못한다. 당연히 클릭도 불가능하다.

이러한 현상을 이용해서

1. While 문 시작
2. Selenium의 find_element를 이용해서 ID가 nextBubble인 DIV를 찾는다.
3. 에러가 난다면 1초 쉰 후 2로 다시 간다.
4. 찾았다면 클릭하고 5로 간다.
5. 경고창이 떴다면 강좌 종료이므로 종료한다.
6. 경고창이 안 떴다면 2로 가서 다음 nextBubble을 기다린다.

흐름만 잘짜면 금방 짤 수 있을 것이다. 뭐 실제로 짠 코드는 개판이긴하지만.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다