Q&A

  • 델파이 응용프로그램에서 열려져있는 웹브라우저의 input 태그의 값 어떻게 입력하죠?
안녕하세요. 아래에도 질문을 올렸지만 대답이 없으셔서 다시 올립니다.
제목 그대로
델파이 응용프로그램에서 어떤 프로세스를 진행하고 그 결과를 현재 열려져 있는 웹브라우저의 입력폼의 <input type="text" name="kps" value="">
value에 델파이 프로그램에서 처리된 결과값(텍스트가) 저장되도록 할려면 어떻게 하면 되죠?

p.s 만약에 현재 처리된 결과값을 전달할 웹브라우저가 활성화 되어 있지않고 다른 웹브라우저가 활성화 되어 있으면 어떻게 하죠? 델파이 응용프로그램에서 결과값을 전송할때 해당 브라우저가 활성화되게하고 그브라우저의 kps 이름의 tag에 결과값이 전송되게 하면 되겠네요?

그럼 이걸 어떻게 구현하죠?
아시는 님들 많이 도와주세요 ㅎㅎ
1  COMMENTS
  • Profile
    현실환 2009.08.08 06:39
    답변이 많이 늦었지만 아직 아무도 답을 주신 분이 없어 제가 특정 사이트의 자동 로그인을 위해 작성한 코드 일부분을 적어 둡니다.

    // OnDownloadComplete Event procedure 에서
    // 먼저 로그인 페이지인지 확인을 하고..
    PageURL := WebBrowser1.OleObject.Document.URL;
    if PageURL = Login_URL then // Login_URL : 로그인 페이지 URL 문자열
    begin
    // id, password field 채움
    tags := WebBrowser1.OleObject.Document.Body.getElementsByTagName('INPUT');
    for i := 0 to tags.Length - 1 do
    begin
    if (tags.Item(i).NAME = 'user_id') then // TAG 항목 = 유저 ID 입력란 ?
    tags.Item(i).value := Login_ID; // 로그인 ID 값 입력
    if (tags.Item(i).NAME = 'password') then // TAG 항목 = 패스워드 입력란 ?
    tags.Item(i).value := Login_PW; // 패스워드 값 입력
    end;

    // 로그인 버튼 클릭
    Document := WebBrowser1.Document as IHTMLDocument2;
    Document.all.tags('input').QueryInterface(IHTMLElementCollection, elementcol);
    for i := 0 to elementcol.length - 1 do
    begin
    element := elementcol.item(i, 0) as IHTMLElement;
    if System.Pos('i_login.gif', element.outerHTML) > 0 then // 버턴에 해당하는 이름이 없어 버턴용 그림참조자로 비교
    element.click; // 버턴 클릭
    end;