Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi TWebBrowser-Komponente -> kompletter Quelltext (https://www.delphipraxis.net/33741-twebbrowser-komponente-kompletter-quelltext.html)

BlueBong 11. Nov 2004 22:02


TWebBrowser-Komponente -> kompletter Quelltext
 
Hallo miteinander

Wie komm ich den auf den Quellcode bei einer TWebBrowser-Komponente?

Ich habe es zwar schon mit

Delphi-Quellcode:
html:=WebBrowser1.OleObject.Document.Body.InnerHtml;
Versucht jedoch bekomme ich so immer nur einen Teil des Quelltextes und nicht den kompletten, wie wenn ich rechte Maustaste, Quelltext anzeigen mache.

MfG Michael

alcaeus 11. Nov 2004 22:31

Re: TWebBrowser-Komponente -> kompletter Quelltext
 
Hi Bluebong,

in diesem Thema wird fast ganz unten eine funktionierende Möglichkeit beschrieben.

Greetz
alcaeus

BlueBong 11. Nov 2004 22:52

Re: TWebBrowser-Komponente -> kompletter Quelltext
 
Sorry hab das ganze vielleicht etwas falsch beschrieben.

Ich möchte dann schon, dass es in eine Variable geschoben wird.

toms 12. Nov 2004 05:15

Re: TWebBrowser-Komponente -> kompletter Quelltext
 
Zitat:

Zitat von BlueBong
Sorry hab das ganze vielleicht etwas falsch beschrieben.

Ich möchte dann schon, dass es in eine Variable geschoben wird.

Hi,

Mit etwas Fantasie hättest du das selber bekommen

Zitat:

in diesem Thema wird fast ganz unten eine funktionierende Möglichkeit beschrieben.
Da der Code dort nicht so optimal ist, poste ich mal meinen Code:

Delphi-Quellcode:
uses
  ActiveX;

procedure WB_GetDocumentSourceToStream(Document: IDispatch; Stream: TStream);
// Speichert ein Webbrowser Document in einen Stream
var
   PersistStreamInit: IPersistStreamInit;
   StreamAdapter: IStream;
begin
   // Überprüfen, ob Dokument verfügbar ist
   Assert(Assigned(Document));
   // Inhalt des Streams löschen
   Stream.Size:= 0;
   Stream.Position:= 0;
   // IPersistStreamInit - Interface des Dokuments besorgen
   if Document.QueryInterface(IPersistStreamInit,
     PersistStreamInit) = S_OK then
   begin
     // Verwende Stream-Adapter, um IStream Interface zu unserem
     // Stream zu bekommen
     StreamAdapter:= TStreamAdapter.Create(Stream, soReference);
     // Speichere Daten aus dem Dokument in den Stream
     PersistStreamInit.Save(StreamAdapter, False);
     // Streamadapter explizit zerstören
     // (optional, würde sowieso passieren, wenn
     // Routine verlassen wird)
     StreamAdapter:= nil;
   end;
end;

function WB_GetDocumentSourceToString(Document: IDispatch): string;
// Speichert ein Webbrowser Document in einen string
var
  Stream: TStringStream;
begin
  Result := '';
  Stream := TStringStream.Create('');
  try
    WB_GetDocumentSourceToStream(Document, Stream);
    Result := Stream.Datastring;
  finally
    Stream.Free;
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  // zu Seite navigieren
  WebBrowser1.Navigate('www.google.com');
  // Warten, bis Seite fertig geladen ist
  while WebBrowser1.ReadyState <> READYSTATE_COMPLETE do
    Application.ProcessMessages;
  // Source Code von Seite in Memo1 anzeigen lassen
  Memo1.Text := WB_GetDocumentSourceToString(WebBrowser1.Document);
end;

BlueBong 12. Nov 2004 06:08

Re: TWebBrowser-Komponente -> kompletter Quelltext
 
Danke.

MfG Michael

DelphiFreund 24. Apr 2005 23:55

Re: TWebBrowser-Komponente -> kompletter Quelltext
 
Woher bekomme man die IDispatch von den anderen Frames?

toms 25. Apr 2005 00:15

Re: TWebBrowser-Komponente -> kompletter Quelltext
 
Schaue mal hier:

http://www.swissdelphicenter.ch/de/showcode.php?id=2054

DelphiFreund 25. Apr 2005 12:47

Re: TWebBrowser-Komponente -> kompletter Quelltext
 
thx, hätte ich nie selber gefunden :thumb:


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:03 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz