![]() |
HTML Quellcode auslesen
Ich mmöchte gerne den Quelltext von dem aktuell geöffnenten InternetExplorer Fenster einlesen - wie?!
|
Re: HTML Quellcode auslesen
rechtsklick->Quelltext anzeigen ;)
|
Re: HTML Quellcode auslesen
Ha ho - scherzkecks
Ich denke ich würde hier nicht posten wenn ich ihn so sehen möchte - natürlich möchte ich diesen in meinem Programm weiterverarbeiten |
Re: HTML Quellcode auslesen
dann hol dir den Quelltext per TIdHttp.Get(); oder öffne das ganze im TWebBrowser und lies dir da den Quelltext aus.. was du dann weiterverarbeitest überlasse ich dir ;)
|
Re: HTML Quellcode auslesen
Das geht nicht es MUSS das aktuelle offene Fenster sein und es muss daraus gelesen werden!
Das mit dem TIdHttp.Get hab ich schon versucht dadurch wird aber eine neue ID von der Website erzeugt und habe KEINEN Zugriff mehr auf den eigendlichen Inhalt! |
Re: HTML Quellcode auslesen
Mit folgenden Funktionen kannst du HTML aus dem WebBrowser-Objekt setzen oder auslesen.
Die Funktionen Document_SetHTML und Document_GetHTML gibt es deshalb, weil es bei Webseiten mit Frames ja mehrere "Documents" gibt.
Delphi-Quellcode:
uses Windows, Classes, Forms, ActiveX, ComObj, SysUtils, SHDocVw;
procedure Document_SetHTML(Document: IDispatch; const HTMLCode: string); var ms: TStringStream; begin if Assigned(Document) then begin ms := TStringStream.Create(HTMLCode); try ms.Seek(0, 0); OleCheck((Document as IPersistStreamInit).Load(TStreamAdapter.Create(ms))); finally ms.Free; end; end; end; function Document_GetHTML(Document: IDispatch):string; var ms: TStringStream; begin Result := ''; if Assigned(Document) then begin ms := TStringStream.Create(Result); try OleCheck((Document as IPersistStreamInit).Save(TStreamAdapter.Create(ms),False)); Result := ms.DataString; finally ms.Free; end; end; end; procedure WB_SetHTML(WebBrowser: TWebBrowser; const HTMLCode: string); begin if not Assigned(WebBrowser.Document) then WebBrowser.Navigate('about:blank'); while WebBrowser.ReadyState < READYSTATE_INTERACTIVE do Application.ProcessMessages; Document_SetHTML(WebBrowser.Document, HTMLCode); end; function WB_GetHTML(WebBrowser: TWebBrowser): string; begin Result := Document_GetHTML(WebBrowser.Document); end; |
Re: HTML Quellcode auslesen
hmm und wie erhalte ich nun vom aktiven Fenster die daten?
|
Re: HTML Quellcode auslesen
Zitat:
Delphi-Quellcode:
Eigentlich ganz einfach, oder ?
var
htlm_code:string; begin htlm_code := WB_GetHTML(WebBrowser1); |
Re: HTML Quellcode auslesen
dachte ich mir schon NUR gibt es bei mir kein "WebBrowser1"...
Du hast wohl überlesen, das ich den IE an sich meine KEIN Webbrowser in MEINER Anwendung! Zitat :"geöffnenten InternetExplorer Fenster einlesen - wie?!" Danek dir aber für Deine Mühe |
Re: HTML Quellcode auslesen
Zitat:
Hier ein Beispiel Codeschnippsel:
Delphi-Quellcode:
Dann musst du prüfen, ob überhaupt HTML geladen ist.:
var
sws : IShellWindows; sw : IDispatch; i : Integer; wb : IWebBrowser2; begin sws := CoShellWindows.Create; // Schleife über alle offenen IE-Browser for i := 0 to sws.Count-1 do begin sw := sws.Item(i); wb := sw as IWebBrowser2; Memo1.Lines.Add(wb.LocationURL); if (Copy(wb.LocationURL, 1, 5) = 'http:') and wb.Visible then begin Memo1.Lines.Add('========HTML==========='); Memo1.Lines.Add(Document_GetHTML(wb.Document)); end; end; end; wb.LocationURL muss mit http: oder https: beginnen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:43 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz