【发布时间】:2014-03-19 20:51:08
【问题描述】:
我有以下函数在 DocumentComplete 事件之后获取 HTML 文档的源代码。
function TBrowser.GetWebBrowserHTML(const WebBrowser: TWebBrowser): string;
var
LStream: TStringStream;
Stream : IStream;
LPersistStreamInit : IPersistStreamInit;
begin
try
if not Assigned(WebBrowser.Document) then exit;
LStream := TStringStream.Create('', TEncoding.UTF8);
try
LPersistStreamInit := WebBrowser.Document as IPersistStreamInit;
Stream := TStreamAdapter.Create(LStream,soReference);
LPersistStreamInit.Save(Stream,true);
result := LStream.DataString;
finally
LStream.Free();
end;
except
end;
end;
问题:在页面上执行 AJAX 调用之前检索源代码。 页面完成加载(由 WebBrowser 确定),但 AJAX 继续修改 DOM 并且页面上出现了其他元素。 我需要的是相当于 Mozilla 的“查看生成的源代码”,或使用 Firebug 或 Chrome Inspector 或 IE 开发工具检查网页时出现的 html 源代码。
似乎在 C 中有 DocumentText property 做这件事,但在 Delphi 中找不到任何属性或方法来实现这一点。
有什么想法/提示/帮助吗?
【问题讨论】:
标签: delphi