Q&A

  • TWebBrowser 의 HTML 정보 알아오기방법
꾸~뻑~ 먼저 감사드립니다.



TWebBrowser로 간단한 브라우저를 만들었는데 ^^



HTML소스보기가 잘 안되네여...



Browser속의 소스보는방법을 알고싶습니다.



델파이의 http 컴포넌트와 연동할순 없나여





2  COMMENTS
  • Profile
    한원희 2001.03.06 20:27
    소스 정보를 보려면 다음과 같이 하시면 됩니다.



    두 가지나 있네요.. ^^



    pDocuemnt:IHTMLDocument2;





    pDocument:=WebBrowser1.Document as IHTMLDocument2;

    strHtmlSource:=pDocument.documentElement.innerHTML;

    // 이 방법은 IE 5.0 이상에서만 지원됩니다. ^^





    또 다른 방법은...



    pDocument.All 에서 태그명이 'HTML'인 Element를 찾아서

    element.outerHTML 하셔도 됩니다.





    그러고 보니 이것 말고도 또 있군요...

    여기 팁란에도 많이 올라왔던것 같은데...



    이건 좀 다른데... 파일로 먼저 소스를 저장하고, 읽는 방법입니다.

    파일로 소스를 저장하는 방법은.. 다음과 같습니다.





    HTMLDocument := Webb.Document as IHTMLDocument2;

    PersistFile := HTMLDocument as IPersistFile;

    PersistFile.Save(StringToOleStr('파일명.파일확장자'), True);

    while HTMLDocument.readyState <> 'complete' do

    Application.ProcessMessages;







    늑대소년 wrote:

    > 꾸~뻑~ 먼저 감사드립니다.

    >

    > TWebBrowser로 간단한 브라우저를 만들었는데 ^^

    >

    > HTML소스보기가 잘 안되네여...

    >

    > Browser속의 소스보는방법을 알고싶습니다.

    >

    > 델파이의 http 컴포넌트와 연동할순 없나여

    >

    >

  • Profile
    이진수 2001.03.05 20:51
    허접 소스입니다.

    참고하세요



    그리고 이건 여담인데요

    MSDN참조 하시면 답이 다 있습니다.

    TWebBrowser는 Borland에서 걍 MS의 COM을 보기 좋게 만들어 준 것 뿐입니다.

    실은 볼랜드에서 한건 암 것도 없습니다.



    그러니 MS의 Document를 찾아 보셔야 겠죠?



    http://msdn.microsoft.com/ie/ 에 보시면 찾고자 하는 대답이 몽땅 있습니다.

    참고 하시기 바랍니다.



    단, 더 쉽게 접근을 위해선 Visual Basic으로 접근하시는 방법을 델파이에서 구현하시면 됩니다.



    아마도 델파이에선 VB용으로 접근하도록 TWebBrowser가 설정되어 있나 봅니다.

    (저도 COM은 그리 잘 몰라서요 ^^)



    unit Unit1;



    interface



    uses

    Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

    StdCtrls, OleCtrls, SHDocVw;



    type

    TForm1 = class(TForm)

    WebBrowser1: TWebBrowser;

    Edit1: TEdit;

    Button1: TButton;

    Button2: TButton;

    procedure Button1Click(Sender: TObject);

    procedure Button2Click(Sender: TObject);

    private

    { Private declarations }

    public

    { Public declarations }

    end;



    var

    Form1: TForm1;



    implementation



    uses Unit2;



    {$R *.DFM}



    procedure TForm1.Button1Click(Sender: TObject);

    begin

    WebBrowser1.Navigate(WideString(Edit1.Text));

    end;



    procedure TForm1.Button2Click(Sender: TObject);

    var

    Dispatch : variant;

    HtmlSrc : String;



    begin

    Dispatch := WebBrowser1.Document;

    HtmlSrc := Dispatch.Body.InnerHTML;



    Form2.Memo1.Lines.Clear;

    Form2.Memo1.Lines.Add(HtmlSrc);

    Form2.Show;

    end;



    end.



    늑대소년 wrote:

    > 꾸~뻑~ 먼저 감사드립니다.

    >

    > TWebBrowser로 간단한 브라우저를 만들었는데 ^^

    >

    > HTML소스보기가 잘 안되네여...

    >

    > Browser속의 소스보는방법을 알고싶습니다.

    >

    > 델파이의 http 컴포넌트와 연동할순 없나여

    >

    >