AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Webbrowser / abzuarbeitene Reihenfolge
Thema durchsuchen
Ansicht
Themen-Optionen

Webbrowser / abzuarbeitene Reihenfolge

Ein Thema von Firewing · begonnen am 10. Mai 2008 · letzter Beitrag vom 11. Mai 2008
Antwort Antwort
Firewing

Registriert seit: 3. Nov 2005
26 Beiträge
 
#1

Webbrowser / abzuarbeitene Reihenfolge

  Alt 10. Mai 2008, 10:47
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:
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;
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...
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#2

Re: Webbrowser / abzuarbeitene Reihenfolge

  Alt 10. Mai 2008, 10:56
Delphi-Quellcode:
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;
Versuch das mal mit else if. Ansonsten wird jede Abfrage ausgeführt.
  Mit Zitat antworten Zitat
Firewing

Registriert seit: 3. Nov 2005
26 Beiträge
 
#3

Re: Webbrowser / abzuarbeitene Reihenfolge

  Alt 10. Mai 2008, 11:42
D'OH! Oh man klar, wie kann man...Dank' Dir!
  Mit Zitat antworten Zitat
Firewing

Registriert seit: 3. Nov 2005
26 Beiträge
 
#4

Re: Webbrowser / abzuarbeitene Reihenfolge

  Alt 10. Mai 2008, 12:28
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;
  Mit Zitat antworten Zitat
Benutzerbild von toms
toms
(CodeLib-Manager)

Registriert seit: 10. Jun 2002
4.648 Beiträge
 
Delphi XE Professional
 
#5

Re: Webbrowser / abzuarbeitene Reihenfolge

  Alt 11. Mai 2008, 10:46
Hallo,

Du könntest es auch mit Hier im Forum suchenWaitForBrowser machen.

PseudoCode:

Delphi-Quellcode:
LoginCode()
WaitForBrowser();
repeat
  Navigate()
  WaitForBrowser();
  SaveHTMLCode()
until ...
Thomas
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:22 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