Hi alle zusammen.
Ich versuche mit dem Webbrowser gerade ein paar Felder auszufüllen und Buttons zu drücken. Eigentlich klappt auch alles schon ganz gut aber bei einem Feld erscheint mir immer die Meldung: "Ungültige Variantenoperation"
Dieser Code nutze im um die Felder zu füllen:
Delphi-Quellcode:
function FillForm(WebBrowser1: tembeddedwb; FieldName: string; Value: string): Boolean;
var
i, j: Integer;
FormItem: Variant;
begin
Result := False;
//no form on document
if WebBrowser1.OleObject.Document.all.tags('FORM').Length = 0 then
begin
Exit;
end;
//count forms on document
for I := 0 to WebBrowser1.OleObject.Document.forms.Length - 1 do
begin
FormItem := WebBrowser1.OleObject.Document.forms.Item(I);
for j := 0 to FormItem.Length - 1 do
begin
try
//when the fieldname is found, try to fill out
if FormItem.Item(j).Name = FieldName then
begin
FormItem.Item(j).Value := Value;
Result := True;
end;
except
Exit;
end;
end;
end;
end;
So rufe ich diesen dann auf:
Delphi-Quellcode:
repeat;
Application.ProcessMessages;
Sleep(0);
until WebBrowser1.ReadyState=4;
if FillForm(form1.WebBrowser1, 'quantity', edit7.text) = False then
ShowMessage('Error. Field QUANTITY not available or no Form found.');
In Edit7 steht übrigens zum testen: 999
Der
HTML Code der Seite (von diesem Feld das ich versuche auszufüllen) ist folgender:
Code:
</tr>
<tr>
<td>Menge:</td>
<td><input type="text" name="quantity" value="5" size="2" /></td>
</tr>
<tr>
Weiss jemand warum das so ist?