오토핫키 자동 로그인 [우리 동네 영화관 사이트]

오토핫키 자동 로그인 [우리 동네 영화관 사이트]

안녕하세요.

오늘은 오토핫키로 자동 로그인을 만들어보겠습니다.

  • 오토핫키 스크립트 만들기
  • 자동 로그인 매크로 코드
  • 실행 결과
  • 과정

우리 동네 영화관 사이트를 자동 로그인할 수 있도록 만들어보겠습니다.

(다른 사이트는 응용해서 만드세요.)

별 이유는 없고요 그냥 맨날 비밀번호 잃어버려서 임시 비밀번호 외우기 귀찮아서 만들었습니다.

글에 올리는 소스코드 부분에는 아이디, 비번으로 표시될 겁니다 (개인정보 x)

1. 오토핫키 스크립트 만들기

자동 로그인을 만들기 전에 코드를 작성할 스크립트를 만들어봅시다.

바탕화면에 우클릭-> 새로 만들기-> AutoHotkey Script를 눌러주시면 끝입니다.

(이름은 원하는걸로 하세요.)

2. Auto Login 소스코드&대충 설명(주석 참고)

코드는 아래와 같습니다.

(대충 주석은 달았습니다.)

WB := ComObjCreate( "InternetExplorer.Application" ) ;인터넷 익스플로러
WB.navigate("http://wanjumovie.kr/index.9is?contentUid=ff808081452a168101452a7afe1c003b") ;웹사이트 주소
While WB.readyState <> 4 || WB.document.readyState != "complete" || WB.busy
Sleep, 100 ;잠시 멈춤
WB.document.getElementById( "log_id" ).value :=  "아이디"  ;아이디를 입력합니다.
WB.document.getElementById( "log_pw" ).value :=  "비밀번호"  ;비밀번호를 입력합니다. 
WB.document.querySelectorAll("a")[31].click() ;로그인정보를 서버에 전송합니다.
WB.Visible := true  ;인터넷창을 보여줍니다.
ExitApp ;위의 활동이 다 끝나면 매크로 종료

실행

실행해보겠습니다.

로그인이 되지 않았다면 로그인이 보여야 하는데 로그아웃이 보이네요. 

매크로가 성공적으로 동작하는 것을 확인했습니다.

(참고로 저 매크로는 로그인이 다 되고나서 화면이 보입니다.)

과정

만드는 과정중에서 어려워 보인다고 생각되는 부분만 하겠습니다.

나머지는 다 아 그렇구나 하고 넘어가면 되는데 이 몇 개가 잘 이해가 되지 않을 겁니다.

일단 그중에 두 개입니다.(사실 둘 다 같은 거죠.)

WB.document.getElementById( "log_id" ).value :=  "아이디"  ;아이디를 입력합니다.
WB.document.getElementById( "log_pw" ).value :=  "비밀번호"  ;비밀번호를 입력합니다. 

위의 두 개는 html문서에서 아이디 값이 log_id인 부분의 값을 입력한 아이디로 수정해주는 코드라고 생각하면 됩니다.

이 부분은 브라우저로 들어가서 f12를 누르면 사진의 오른쪽처럼 html을 볼 수 있는데 이곳에서 요소의 id값을 확인 가능합니다.

WB.document.querySelectorAll("a")[31].click() ;로그인 정보를 서버에 전송합니다.

이건 주석으로 로그인 정보를 서버에 전송한다고 썼습니다.

하지만 사실은 html에서 a요소의 31번째 배열을 클릭하라는 소리입니다.(a==html에서 링크입니다.)

(결과가 로그인 정보를 서버에 전송한다는 소리입니다.)

그럼 이번에는 왜 로그인 버튼이 31번째 배열인지 확인해보겠습니다.

크롬에서 f12를 눌러 console창에 document.querySelectorAll("a")를 입력합니다.

(흠 여기는 링크가 많나 보네요.)

일일이 찾아보겠습니다.

대충 읽다 보니 31번째 a에서 로그인 버튼과 관련된 부분이 보이네요. 

이제 왜 31인지 아시겠나요?

코멘트

흠 뭔가 쉽게 설명하고 싶었는데 생각만큼 쉽지가 않네요.

아마 웹사이트의 html부분을 조금만 공부하면 제가 설명하지 않아도 이해하실 겁니다.

Designed by JB FACTORY