如何取得 TWebBrowser 裡的html內容 |
答題得分者是:52life
|
arsene
一般會員 發表:3 回覆:1 積分:5 註冊:2002-10-17 發送簡訊給我 |
|
awen
一般會員 發表:0 回覆:4 積分:0 註冊:2006-10-13 發送簡訊給我 |
|
52life
一般會員 發表:3 回覆:6 積分:6 註冊:2006-11-07 發送簡訊給我 |
问题提出/摘要:
怎样将TWebBrowser.Document中的HTML源代码保存到磁盘? -- 从WebBrowser.Document中获取HTML源代码. 回答: TWebBrowser.Document实现了IPersistStreamInit接口,此接口提供了一个Save()方法。你所需要了解的是如何使用这个方法,通常是与实现了IStream接口的对象配合使用。我们可以简单地使用TStreamAdapter来达到这个目的。 注意IPersistStreamInit和IStream接口是在ActiveX单元中声明的。 以下是代码: procedure TForm1.SaveHTMLSourceToFile(const FileName: string; WB: TWebBrowser); var PersistStream: IPersistStreamInit; FileStream: TFileStream; Stream: IStream; SaveResult: HRESULT; begin PersistStream := WB.Document as IPersistStreamInit; FileStream := TFileStream.Create(FileName, fmCreate); try Stream := TStreamAdapter.Create(FileStream, soReference) as IStream; SaveResult := PersistStream.Save(Stream, True); if FAILED(SaveResult) then MessageBox(Handle, 'Fail to save HTML source', 'Error', 0); finally { we are passing soReference in TStreamAdapter constructor, it is our responsibility to destroy the TFileStream object. } FileStream.Free; end; end; pocedure TForm1.Button1Click(Sender: TObject); begin if SaveDialog1.Execute then SaveHTMLSourceToFile(SaveDialog1.FileName, WebBrowser1); end; |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |