Entwickler-Ecke

Internet / Netzwerk - Button im webbrowser klicken lassen???


Murmel - Sa 06.09.03 16:31
Titel: Button im webbrowser klicken lassen???
folgendes: ich möchte viele verschiedene html seiten im webbrowsser ausfüllen (klappt schon prächtig) danach, also nach dem ausfüllen eines jeden formulars, soll dann der button betätigt werden, dafür benutze ich folgenden code:

für einen button:

WebBrowser1.OleObject.Document.forms.item(0).elements.item(0).click;

falls mehrere da sein sollten:


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
procedure TForm1.Button1Click(Sender: TObject);
var
  ovElements: OleVariant;
  i: Integer;
begin
  ovElements := WebBrowser1.OleObject.Document.forms.item(0).elements;
  for i := 0 to (ovElements.Length - 1do
    if (ovElements.item(i).tagName = 'INPUT'and
      (ovElements.item(i).type = 'SUBMIT'and
      (ovElements.item(i).Value = 'Recent Charges'then
      ovElements.item(i).Click;
end;



klappt aber alles nicht... weiß jemand rat?


gruß murmel

Moderiert von user profile iconKlabautermann: Delphi-Tags hinzugefügt.


blackbirdXXX - Sa 06.09.03 19:43

Schreib deinen Text doch zwischen [delphi] und [/ delphi] hinein.
Was den Browser betrifft kann es aber sein das statt eines Submit Buttons ein Imagebutton ist. Dann hilft dir das alles nichts.


Murmel - Di 09.09.03 10:16
Titel: wie?
wo soll ich den reinschreiben?


Klabautermann - Di 09.09.03 10:29
Titel: Re: wie?
Hallo,
Murmel hat folgendes geschrieben:
wo soll ich den reinschreiben?

habe ich jetzt ersteinmal gemacht.

Wenn du Quelltext postest solltest du das so machen:

Quelltext
1:
2:
3:
4:
[delphi]procedure Hallo;
begin
  ShowMessage('Hallo Welt!');
end;[/delphi]


durch die Delphi-Tags wird das dann so schön formatiert:

Delphi-Quelltext
1:
2:
3:
4:
procedure Hallo;
begin
  ShowMessage('Hallo Welt!');
end;


Gruß
Klabautermann


Murmel - Di 09.09.03 11:20
Titel: ok ok
aber weiß trotzdem jemand wie ich irgendwie erzwingen kann, das mein prog den erst besten button in einem webbrowser anklickt?

gruß murmel


JustusJonas - Di 09.09.03 11:31

Wenn sich nur ein Button auf der Seite befindet reicht schon

Delphi-Quelltext
1:
WebBrowser1.OleObject.Document.Forms.item(0).submit;                    


Bei mehreren Buttons musst du den richtigen so auswählen:

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
ovElements := WebBrowser1.OleObject.Document.forms.item(0).elements;
          for i := 0 to (ovElements.Length - 1do
              if (ovElements.item(i).type = 'submit'and (ovElements.item(i).Value = 'UPLOAD'then
                 begin
                      ovElements.item(i).Click;
                 end;


Musst also den "Type" und den "Value" aus dem Quelltext auslesen und in meinem Code ersetzen!

Greetz


Murmel - Di 09.09.03 12:43
Titel: super danke schön ;O)
danke danke schön