Einzelnen Beitrag anzeigen

shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#6

AW: Webbrowser.OleObject mittels Vorfahren erreichen

  Alt 15. Dez 2010, 17:37
...Ich möchter auf ein Text-Eingabefeld zugreifen (input type Text)
Dann gäbe es aber einen alternativen Weg durch das Objektmodell des IE (den ich für besser halte).
Ein Document kann ein oder mehrere "WebForms" enthalten.
Ein Form enthält dann ein (oder mehrere) Input Items.
Man kann dann z.B. mit einer Schleife über die Items und die Werte verändern.
Hier ein Beispiel:
Delphi-Quellcode:
procedure FillWebForm(document:OleVariant);
var
  FormItem, Element : OleVariant;
  j : integer;
  itemtype, itemname : string;
begin
  if document.forms.Length = then
    Exit; // keine WebForms vorhanden
  FormItem := document.forms.Item(0); // 1. Formular verwenden
  
  For j:= 0 to FormItem.Length-1 do
  begin
     Element := FormItem.Item(j);
     itemname := Element.Name;
     itemtype := UpperCase(Element.Type);
     if itemtype = 'TEXTthen
     begin
       maxlen := Element.MaxLength;
       Element.Value:= Copy('Hallo das ist ein Test', 1, maxlen);
     end
     else if itemtype = 'CHECKBOXthen
     begin
        // Checkbox zufällig setzen
        if system.Random > 0.5 then
           Element.Checked := True;
     end;

     // weitere Itemtypes sind BUTTON, CHECKBOX, SELECT-ONE, RADIO
  
  end;
  FormItem.Submit; // Webform absenden
end;
Andreas
  Mit Zitat antworten Zitat