Entwickler-Ecke

Internet / Netzwerk - Click auf Button (Webbrowser) wird nicht ausgeführt


Tristan - Mi 24.05.06 12:19
Titel: Click auf Button (Webbrowser) wird nicht ausgeführt
Hallo,

die Frage über das automatische Ausfüllen gabs ja hier im Forum oft genug. Soweit klappte bisher auch alles nur jetzt habe ich ein Problem:


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
 Quellcode:=TstringList.Create;
 Quellcode.Add(Browser.OleObject.Document.Forms.item(0).Document.Body.OuterHtml);

 For i:=0 to Quellcode.count-1 do
  Begin
   If Pos('uiReboot()',Quellcode.Strings[i])>0 then
    Begin
     ovElements := Browser.OleObject.Document.forms.item(0).elements;
        for i2 := 0 to (ovElements.Length - 1do
        Memo1.lines.add((ovElements.item(i2)).value+'NR:'+inttostr(i2));
        
     Browser.OleObject.Document.forms.item(0).elements.item(3).click;
end;


Ich möchte einen Router neustarten, der Zwei Buttons für den Reset besitzt.

XML-Daten
1:
2:
3:
4:
5:
6:
7:
<P>Klicken Sie hier, wenn Sie FRITZ!Box neu starten wollen. Die Anrufliste und die Ereignisse werden beim Neustart zurückgesetzt. Alle anderen Einstellungen bleiben erhalten.</P>
<P style="TEXT-ALIGN: center"><INPUT class=Pushbutton style="WIDTH: 360px" onclick=uiReboot() type=button value="FRITZ!Box neu starten"></P></DIV>
<DIV class=pDialog>
<P>Klicken Sie hier, wenn Sie FRITZ!Box neu starten und in den Auslieferungszustand zurücksetzen wollen. Alle individuellen Einstellungen werden gelöscht.<BR>Vorsicht! Wenn Sie eine individuelle IP-Konfiguration oder einen individuellen WLAN-Netzwerkschlüssel benutzen, müssen Sie die Netzwerkeinstellungen Ihres Computers anpassen, um nach dem Zurücksetzen wieder auf FRITZ!Box zugreifen zu können.</P>
<P style="TEXT-ALIGN: center"><INPUT class=Pushbutton style="WIDTH: 360px" onclick=uiRestoreFactoryDefaults() type=button value="FRITZ!Box neu starten und Werkseinstellungen laden"></P></DIV>
<DIV class=pButtonbar><INPUT class=Pushbutton onclick=uiDoHelp() type=button value=Hilfe> </DIV></DIV></DIV></TD>
<TD class=Schattenrechts></TD></TR>


Der Wert des Buttons (Element) beträgt 3.
Wenn ich jedoch versuche mit Browser.OleObject.Document.forms.item(0).elements.item(3).click; einen Klick auszuführen passiert nichts.

Beim Login (Frames) funktioniert das Drücken des Buttons jedoch einwandfrei:

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
For i:=0 to Quellcode.Count-1 do
  Begin
  //Wenn Login erscheinen sollte
  If Pos('login:command/password',Quellcode.Strings[i])>0 then
   Begin
   Browser.OleObject.Document.Frames.item('frame_content').Document.forms.item(1).elements.item(0).value:='serveradmin';
   Browser.OleObject.Document.Frames.item('frame_content').Document.forms.item(1).elements.item(1).click;
   End;


Rätselhaft?


Andreas L. - Mi 24.05.06 22:59

Zitat:

Delphi-Quelltext
1:
Browser.OleObject.Document.forms.item(0).elements.item(3).click;                    


Vielleicht sind auf der Seite noch andere Formulare. Du versuchst auf das mit den Index 0 zu zugreifen.