Entwickler-Ecke
Internet / Netzwerk - Textfeld von TWebBrowser füllen?
jackie05 - Fr 22.10.10 00:17
Titel: Textfeld von TWebBrowser füllen?
Hallo,
ich habe folgendes problem und zwar möchte ich ein Textfeld füllen lassen diese mit JavaScript oder CSS erstellt wurde:
Quelltext
1:
| <input id="testForm:m" type="text" name="testForm:m"> |
und ich habe versucht dieses Feld mit diesem Code zu befüllen:
Delphi-Quelltext
1:
| WbSetEditField(WebBrowser1,'m',Z1); |
leider bekomme ich eine Zugriffsverletzung bei Delphi.
Kann mir Vielleicht jemand weiterhelfen?
Ich bedanke mich schonmal im Voraus.
MfG
jaenicke - Fr 22.10.10 06:01
Die Schutzverletzung solltest du nur innerhalb Delphi sehen und rührt daher, dass kein Feld mit dem Namen m gefunden wurde.
Du hast ja auch den Code dazu nicht gepostet, denn das input-Feld, welches du gepostet hast, heißt ja anders. :gruebel:
jackie05 - Sa 23.10.10 20:17
Danke Dir.
ja, aber wie kann ich solche Textfelder im WebBrowser füllen lassen?
Es muss doch eine möglichkeit geben, oder?
Ich habe zum Test mal alles in ListBox eintragen lassen, was alles gefunden wurde von WebBrowser:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33:
| function WbEnumFields(WebBrowser: TWebBrowser; SL: TStrings): Boolean; var i, j: Integer; FormItem: Variant; begin Result := True; if WebBrowser.OleObject.Document.all.tags('FORM').Length = 0 then begin Result := False; Exit; end; for I := 0 to WebBrowser.OleObject.Document.forms.Length - 1 do begin FormItem := WebBrowser.OleObject.Document.forms.Item(I); for j := 0 to FormItem.Length - 1 do begin try SL.Add(FormItem.Item(j).Name); except Result := False; Exit; end; end; end; end;
procedure TForm1.Button1Click(Sender: TObject); begin WbEnumFields(WebBrowser1,ListBox1.Items); end; |
dann meldet er nach ein paar einträge einen Fehler:
Delphi-Quelltext
1:
| Project Project1.exe raised exception class EOleError with message 'Method 'Name' not supportet by automation object'. |
Danke schonmal im Voraus.
MfG
jaenicke - Sa 23.10.10 20:26
jackie05 hat folgendes geschrieben : |
| Es muss doch eine möglichkeit geben, oder? |
naja, bezogen auf deinen obigen Code könntest du den ja einfach an den geposteten HTML-Code anpassen:
Delphi-Quelltext
1:
| WbSetEditField(WebBrowser1, 'testForm:m', Z1); |
Ob das mit dem Doppelpunkt geht, weiß ich aber nicht...
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!