...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 = 'TEXT' then
begin
maxlen := Element.MaxLength;
Element.Value:= Copy('Hallo das ist ein Test', 1, maxlen);
end
else if itemtype = 'CHECKBOX' then
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;