10
A
回答
18
您可以使用IPersistStreamInit
接口和save方法将Web浏览器的内容存储在流中。
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;
3
这已经在Embarcadero论坛上多次提出和回答,并发布了大量代码示例。搜索档案。
它的要点是你Navigate()
到所需的URL并等待OnDocumentComplete
事件触发,然后QueryInterface()
的Document
属性为IPersistStreamInit
接口并调用其save()
方法。创建一个TStream
对象实例(如TMemoryStream
),将其包装在一个TStreamAdapter
对象中,然后将该适配器传递给save()
。您可以根据需要将TStream
加载到TMemo
中。
4
那也是行之有效:
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;
相关问题
- 1. 如何从Swift获取HTML源代码
- 2. 来自TWebBrowser的HTML源代码 - 如何检测流编码?
- 3. CefGlue如何获取HTML源代码?
- 4. 从webView获取HTML源代码
- 5. 从html源代码获取链接
- 6. php从https获取html源代码
- 7. 获取HTML源代码从URL
- 8. UIWebView获取HTML源代码
- 9. 如何从UIWebView获取xml源代码?
- 10. 如何从HttpClient HttpResponse获取源代码?
- 11. 如何从MuleEvent获取源代码?
- 12. 如何从网上获取源代码?
- 13. 如何从Drupal获取源代码?
- 14. 从TWebBrowser获取Cookie
- 15. 如何从网页获取html代码?
- 16. 如何从PHP代码获取HTML ID?
- 17. 如何从HTML代码块获取URL?
- 18. 如何从跨域获取HTML代码?
- 19. 如何从网页获取HTML代码?
- 20. 如何从外部网址获取html源代码
- 21. 如何从黑莓手机中的URL获取HTML源代码
- 22. 如何从页面获取HTML源代码?
- 23. 如何从android中的url获取HTML源代码?
- 24. 如何从html源代码获取元图像?
- 25. 如何从其他网站获取HTML代码源
- 26. 如何从输入网址获取html源代码?
- 27. 如何从asp.net中的ckeditor获取HTML源代码?
- 28. 如何使用PHP和RegEx从HTML源代码获取数据?
- 29. 如何从一段HTML源代码获取字体颜色?
- 30. 通过代理获取html源代码
它的工作原理。非常感谢你。 – Leadri 2012-04-10 15:54:33
我们如何才能使其工作的反向方式:SetWebBrowserHTML,从而重新注入以前提取的代码回WebBrowser(或TEmbeddedWebBrowser)。我想象下面的情况:备忘录组件用GetWebBrowserHTML获取HTML源代码,然后用户对源代码进行一些更改,然后将更改后的源代码重新注入WebBrowser。这将成为一个很棒的HTML编辑器,并在浏览器中进行实时预览! – user1580348 2013-05-14 01:12:01
更好:'LStream:= TStringStream.Create('',TEncoding.UTF8);' – user1580348 2013-05-20 10:17:20