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