Autor Beitrag
Bob Murphy
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 91

XP, Ubuntu
Delphi 7 SE, Delphi 2007
BeitragVerfasst: Sa 28.02.09 08:55 
Moin,
also ich möchte mich gerne auf einer Seite mit dem TWebBrowser einloggen. Das einloggen funktioniert soweit, allerdings das warten bis die Seite geladen wurde nicht.
Aufrufen tue ich die Seite so:
ausblenden Delphi-Quelltext
1:
2:
try
    WebBrowser1.Navigate('http://www.meineseite.de');

Danach warte ich bis die Seite geladen wurde:
ausblenden Delphi-Quelltext
1:
2:
3:
    repeat
      Application.ProcessMessages;
    until (WebBrowser1.ReadyState = READYSTATE_COMPLETE) or (Application.Terminated);

Das funktioniert perfekt.
Jetzt fülle ich die Eingabefelder und klicke den Button:
ausblenden Delphi-Quelltext
1:
2:
3:
    WebBrowser1.OleObject.document.forms.item(0).elements.item('USER').value := Username.Text;
    WebBrowser1.OleObject.document.forms.item(0).elements.item('PW').value := Password.Text;
    WebBrowser1.OleObject.document.forms.item(0).elements.item('Submit').Click;

So jetzt kommt mein Problem, nachdem der Submit-Button geklickt wurde, soll wieder gewartet werden bis die Seite fertig geladen ist. Probiert habe ich es schon mit dem Ereignis "OnDocumentComplete", mit der repeat Schleife von oben und mit noch einigen anderen Sachen die ich bei Google gefunden habe. Aber nichts funktioniert, hat jemand eine Idee wie ich den WebBrowser dazu bringe nach dem Klick auf dem Submit-Button zu warten bis die Seite fertig geladen ist?
Am liebsten würde ich es mit den Indys machen, der Login funktioniert auch mit den Indys, allerdings wird später noch Javascriptcode ausgeführt der nicht mit den Indys funktioniert. Lasse mich aber gerne eines besseren belehren^^

Danke schonmal

LG Bob
Keldorn
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 2266
Erhaltene Danke: 4

Vista
D6 Prof, D 2005 Pro, D2007 Pro, DelphiXE2 Pro
BeitragVerfasst: Sa 28.02.09 17:42 
Hallo

hast Du Frames auf der Seite?
Dann kannst du dir noch einen kleinen Counter einbauen, der das Documentcomplete zählt, weil das bekommst du für jeden Frame.

Gruß Frank

_________________
Lükes Grundlage der Programmierung: Es wird nicht funktionieren.
(Murphy)