Thema: Delphi WebBrowser Ladevorgang

Einzelnen Beitrag anzeigen

TheTana

Registriert seit: 12. Mär 2008
3 Beiträge
 
Delphi 2006 Professional
 
#1

WebBrowser Ladevorgang

  Alt 8. Jul 2008, 09:54
Guten Tag,
ich quäle mich jetzt schon etwas länger mit dem allseits bekannten Problem, dass ich ein Formular über den TWebBrowser steuern möchte.

Der Ablauf ist etwa so:
Seite laden
Formular ausfüllen
Seite abschicken
Ergebnis auswerten
Weiter ausfüllen
Wieder abschicken

usw.

Dabei ist es mein Ziel, dass die Aufgaben erst fortgesetzt werden, wenn die Ergebnisseite der vorherigen Abfrage geladen ist. Natürlich habe ich mich schon im Forum umgesehen und Hier im Forum suchenOnDocumentComplete und Hier im Forum suchenWaitforBrowser gefunden. Ich habe versucht beides zu verwenden, bin jedoch gescheitert und kann mir nicht erklären warum.

Hier meine Versuche:


Versuch1:

Delphi-Quellcode:
        WebBrowser1.OleObject.Document.forms.item(3).elements.item(20).click;
   WaitforBrowser(WebBrowser1);
   WebBrowser1.OleObject.Document.ParentWindow.ScrollTo(0, 500);
Delphi-Quellcode:
procedure TForm1.WaitForBrowser(WB: TWebbrowser);
begin
  while (WB.ReadyState <> READYSTATE_COMPLETE) // Wärend der STatus ungleich 'fertig'
    and not (Application.Terminated) do // und das Programm nicht abgebrochen wurde
  begin
    Application.ProcessMessages;
    Sleep(0); // Hier habe ich sowohl große, als auch kleine Zahlen eingesetzt
  end;
end;
Bei meinem Anlauf mit WaitforBrowser ist der Browser bevor das Ergebnis geladen wurde bereits auf die Position gescrollt, auf der das

Ergebnis stehen wird und verliert diese Position wieder, nach dem das Ergebnis geladen wurde.


Versuch2:

Delphi-Quellcode:
procedure TForm1.WebBrowser1DocumentComplete(Sender: TObject;
  const pDisp: IDispatch; var URL: OleVariant);
begin
    ShowMessage('Fertig geladen');
end;

end.
Hierauf springt der Browser niemals an, egal wie viele Ergebnisse geladen werden.

Könnt ihr mir weiterhelfen? Ich hoffe die Lösung ist nicht all zu trivial, mein Delphi-Fachwissen hält sich leider noch in Grenzen.

Grüße

Tana
Jeder noch so kleine Schritt in Richtung Ziel ist ein Schritt in die richtige Richtung.
  Mit Zitat antworten Zitat