Q&A

  • 네이버 WebBrowser 로그인처리 문제입니다
안녕하세요^^*

다른사이들은 WebBrowser1 컨트롤을 사용해서 INPUT 입력폼에 자동으로 VALUE 값을 삽입할수있었습니다.
하지만 네이버에서는 id,pw 입력폼에 자동삽입 자체가 안됩니다.

안되는 원인이 무엇인지 알고싶습니다.
소중한 시간을 내주셔서 고맙습니다.^^8
꼭 해결을 하고싶습니다.


**************** 네이버 로그인처리 HTML 소스 일부분 ******************************
참고URL =   http://nid.naver.com//nidlogin.login

<div class="form">
      <input type="hidden" name="url" id="url" value="http://www.naver.com">
      <input type="hidden" name="svctype" value="0">
      <input type="hidden" name="viewtype" value="">
      <input type="hidden" name="postDataKey" value="">
      <input type="hidden" name="encpw" id="encpw" value="">
      <input type="hidden" name="encnm" id="encnm" value="">
      <input type="hidden" name="saveID" id="saveID" value="0">
      <input type="hidden" name="enctp" id="enctp" value="2">
      <script type="text/javascript">
       document.write("<input type='hidden' id='smart_level' name='smart_level' value='"+is_ipcheck+"'>");
      </script>
      <div id="login_box">
       <div class="log01">
        <input type="text" name="id" id="id" maxlength="25" size="12" tabindex="1" accesskey="l" style="background:url(/id/green/loginbox_id02.gif) no-repeat 4px 3px #FFFFFF;" class="box_input" datatype="alphanumeric" mask="-_." >
        <input type="Checkbox" name="sID" id="sID" style="display:none;"><img src="/id/green/uncheck.gif" onClick="javascript:SidCheckedSwap();" onMouseOver="javascript:SidCheckedMouseOn();" onMouseOut="javascript:SidCheckedMouseOff();" tabindex="4" alt="" width="13" height="13" id="sidImg" >
        <label>아이디저장</label>
       </div>
       <div class="log02">
        <input id="pw" type="password" name="pw" tabindex="2" value="" maxlength="16" style="background:url(/id/green/loginbox_pw02.gif) no-repeat 4px 3px #FFFFFF" class="box_input">
        <input type="image" src="/id/green/btn_login03.gif" id="submit_img" width="47" tabindex="3" height="21" class="btn_log">
       </div>

**************** 네이버 로그인처리 HTML 소스 일부분 종료 ******************************



unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, OleCtrls, SHDocVw, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    WebBrowser1: TWebBrowser;
    procedure Button1Click(Sender: TObject);
    procedure WebBrowser1DocumentComplete(Sender: TObject;
      const pDisp: IDispatch; var URL: OleVariant);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
WebBrowser1.Navigate('http://nid.naver.com/login/login.pw.nhn?url=http%3A%2F%2Fwww.naver.com&postDataKey=&svctype=0');
end;


procedure TForm1.WebBrowser1DocumentComplete(Sender: TObject;
  const pDisp: IDispatch; var URL: OleVariant);

  var

tags: OleVariant;
     i: Integer;
     loID,loPW: String;

begin

    loID:='abcd';  //  사용자 아이디입력
    loPW:='pass';  // 사용자 비밀번호 입력
    tags := WebBrowser1.OleObject.Document.Body.getElementsByTagName('INPUT');

if WebBrowser1.ReadyState = READYSTATE_COMPLETE then begin

     for i := 0 to tags.Length - 1 do
     begin

         if (tags.Item(i).NAME = 'id') and (tags.item(i).id='id') then
         begin
             tags.Item(i).value := loID; // 네이버 사용자 ID 입력폼에 삽입
         end;

        if (tags.Item(i).NAME = 'pw') and (tags.item(i).id='pw') then
         begin
             tags.Item(i).value := loPW; // // 네이버 사용자 비밀번호 입력폼에 삽입
         end;

       end;

   end;

end;

end.
0  COMMENTS