Lea*_*dri 10 delphi delphi-7 twebbrowser
如何从WebBrowser组件获取源代码?
我想在WebBrowser组件上获取活动页面的源代码并将其写入Memo组件.
谢谢.
RRU*_*RUZ 18
您可以使用IPersistStreamInitInterface和save方法将Web浏览器的内容存储在Stream中.
Uses
ActiveX;
function GetWebBrowserHTML(const WebBrowser: TWebBrowser): String;
var
LStream: TStringStream;
Stream : IStream;
LPersistStreamInit : IPersistStreamInit;
begin
if not Assigned(WebBrowser.Document) then exit;
LStream := TStringStream.Create('');
try
LPersistStreamInit := WebBrowser.Document as IPersistStreamInit;
Stream := TStreamAdapter.Create(LStream,soReference);
LPersistStreamInit.Save(Stream,true);
result := LStream.DataString;
finally
LStream.Free();
end;
end;
Run Code Online (Sandbox Code Playgroud)
这也很好用:
uses MSHTML;
function GetHTML(w: TWebBrowser): String;
Var
e: IHTMLElement;
begin
Result := '';
if Assigned(w.Document) then
begin
e := (w.Document as IHTMLDocument2).body;
while e.parentElement <> nil do
begin
e := e.parentElement;
end;
Result := e.outerHTML;
end;
end;
Run Code Online (Sandbox Code Playgroud)