![]() |
Webbrowser / abzuarbeitene Reihenfolge
Hallo Leute, wieder einmal brauche ich eure Hilfe.
Und zwar möchte ich, dass der Webbrowser folgende Schritte durchführt. Schritt 1: Seite mit LoginFormular ausfüllen und abschicken Schritt 2: Zu einer Seite im Mitgliederbereich wechseln Schritt 3: HTML Quelltext speichern und in Memo ausgeben
Delphi-Quellcode:
Nun gibt er mir aber bereits den Quelltext bei Schritt 1 aus. Wo liegt das Problem? Hat da jemand ne Lösung, evtl eine grundlegende Verbesserung? Mir scheint, dass ich das eh unglücklich programmiert habe...
procedure TForm1.WebBrowser1DocumentComplete(Sender: TObject;
const pDisp: IDispatch; var URL: OleVariant); begin if DumpStep = 1 then begin WB_FillPwdForm(Webbrowser1, 'Login_email', StudiUser, 'Login_password', StudiPW); webbrowser1.oleobject.document.forms.item('Login').elements.item('login').click; DumpStep := 2; end; if DumpStep = 2 then begin webbrowser1.Navigate(Edit1.text); DumpStep := 3; end; if (DumpStep = 3) then begin WB_SaveHTMLCode(Webbrowser1, ExtractFilePath(Paramstr(0)) + '\temp\quelltext.txt'); ListBox1.Items.Add('[' + TimeToStr(now) + ']' + ' Temp-Datei für den Quelltext angelegt'); WB_GetHTMLCode(Webbrowser1, Memo1.Lines); ListBox1.Items.Add('[' + TimeToStr(now) + ']' + ' Quelltext geöffnet'); DumpStep := 4; end; end; |
Re: Webbrowser / abzuarbeitene Reihenfolge
Delphi-Quellcode:
Versuch das mal mit else if. Ansonsten wird jede Abfrage ausgeführt.
procedure TForm1.WebBrowser1DocumentComplete(Sender: TObject;
const pDisp: IDispatch; var URL: OleVariant); begin if DumpStep = 1 then begin WB_FillPwdForm(Webbrowser1, 'Login_email', StudiUser, 'Login_password', StudiPW); webbrowser1.oleobject.document.forms.item('Login').elements.item('login').click; DumpStep := 2; end else if DumpStep = 2 then begin webbrowser1.Navigate(Edit1.text); DumpStep := 3; end else if (DumpStep = 3) then begin WB_SaveHTMLCode(Webbrowser1, ExtractFilePath(Paramstr(0)) + '\temp\quelltext.txt'); ListBox1.Items.Add('[' + TimeToStr(now) + ']' + ' Temp-Datei für den Quelltext angelegt'); WB_GetHTMLCode(Webbrowser1, Memo1.Lines); ListBox1.Items.Add('[' + TimeToStr(now) + ']' + ' Quelltext geöffnet'); DumpStep := 4; end; end; |
Re: Webbrowser / abzuarbeitene Reihenfolge
D'OH! Oh man klar, wie kann man...Dank' Dir!
|
Re: Webbrowser / abzuarbeitene Reihenfolge
OK Bonusfrage:
Und zwar habe ich eine Abfolge von zu aufrufenden Seiten, jedoch soll er den Schritt 2 wiederholen (sodass i mit einer For-Schleife hochzählt). Also:
Delphi-Quellcode:
For i := 0 to 7 do
Bilder_Seite_1.htm aufrufen -> Schritt3 machen Bilder_Seite_2.htm aufrufen -> Schritt3 machen Bilder_Seite_3.htm aufrufen -> Schritt3 machen ... Bilder_Seite_7.htm aufrufen -> Schritt3 machen Wollte das halt ungern durch ne GoTo Funktion erledigen. Kannst du/ihr mir mal aushelfen? (Bei mir kommt er mit den OnDocumentComplete Ereignis ins Gehege) procedure TForm1.WebBrowser1DocumentComplete(Sender: TObject; const pDisp: IDispatch; var URL: OleVariant); begin if DumpStep = 1 then begin WB_FillPwdForm(Webbrowser1, 'Login_email', StudiUser, 'Login_password', StudiPW); webbrowser1.oleobject.document.forms.item('Login').elements.item('login').click; DumpStep := 2; end else if DumpStep = 2 then begin webbrowser1.Navigate(Edit1.text + 'i' + '.htm'); DumpStep := 3; end else if (DumpStep = 3) then begin WB_SaveHTMLCode(Webbrowser1, ExtractFilePath(Paramstr(0)) + '\temp\quelltext.txt'); ListBox1.Items.Add('[' + TimeToStr(now) + ']' + ' Temp-Datei für den Quelltext angelegt'); WB_GetHTMLCode(Webbrowser1, Memo1.Lines); ListBox1.Items.Add('[' + TimeToStr(now) + ']' + ' Quelltext geöffnet'); //..... end; end; |
Re: Webbrowser / abzuarbeitene Reihenfolge
Hallo,
Du könntest es auch mit ![]() PseudoCode:
Delphi-Quellcode:
LoginCode()
WaitForBrowser(); repeat Navigate() WaitForBrowser(); SaveHTMLCode() until ... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:09 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