Delphi Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
델파이 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
FreePascal/Lazarus
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
델마당
볼랜드포럼 광고 모집

델파이 Q&A
Delphi Programming Q&A
[15331] TWebbrowser 자동로그인을 만드는데요.
김아람 [] 2942 읽음    2014-11-12 01:21
자동로그인을 하려고 합니다.

HTML이 워낙 커서 모두 올릴 수는 없구요.
중요한 부분만 올립니다.



델파이코드는 아래와 같습니다.

Function Login(WebBrowser : TWebBrowser; Const LoginURL, ID , PWD : String): Boolean;
var
  oDocument  : IHTMLDocument2;
  oForm  : IHTMLFormElement;
  oID, oPWD : IHTMLInputElement;
  oSubmit : IHTMLElement;
Begin

  Result := False;

  WebBrowser.Navigate(LoginURL);

  while WebBrowser.ReadyState < READYSTATE_INTERACTIVE do
  Begin
    Sleep(5);
    Application.ProcessMessages;
  End;

  IF NOT Supports(WebBrowser.OleObject.Document, IHTMLDocument2, oDocument) Then Exit;
  IF NOT Supports(oDocument.item('frm', 0), IHTMLFormElement, oForm)  Then Exit;
  IF NOT Supports(oForm.item('uid', 0), IHTMLInputElement, oID)  Then Exit;
  IF NOT Supports(oForm.item('upwd', 0), IHTMLInputElement, oPWD) Then Exit;
  IF NOT Supports(oDocument.links.item('btn', 0), IHTMLElement, oSubmit)   Then Exit;

  oID.value    := ID;
  oPWD.value   := PWD;
  oSubmit.click;

  Result := false;

End;



이렇게 했는데요.
물론 손으로 입력하면 이상 없이 로그인이 잘 되는것이

위 코드로 실행을 하면 아이디와 암호입력까지는 잘 되는데
submit버튼 클릭이벤트에서 뭘 어떻게 해 놓았는지 버튼을 클릭하면 암호가 틀리다고 나옵니다.

HTML스크립트 파일이 워낙 많아서 그 중 어느 파일이 해당 스크립트가 있는 파일인지 찾을 수가 없어 스크립트 분석은 불가능할 것 같습니다.

하루 종일 고민하다가 결국 방법은 키보드로 입력할때와 똑같이
암호자리의 value값에 암호를 넣을 것이 아니고
커서를 집어 넣고 암호를 입력하게 한 다음 엔터키를 누르는 코드가 필요할것 같은데요.
어떻게 해야 할지 모르겠습니다.

아무리 인터넷을 뒤져봐도 INPUT테그에 직접 글자를 입력하고 엔터키를 누르는 소스코드를 구할 수가 없네요.

고수분들께서 도와주시면 감사하겠습니다.

+ -

관련 글 리스트
15331 TWebbrowser 자동로그인을 만드는데요. 김아람 2942 2014/11/12
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.