Entwickler-Ecke

Internet / Netzwerk - Edit-Felder aus dem Browser auslesen/verändern


Shadowdragon - So 30.03.03 11:44
Titel: Edit-Felder aus dem Browser auslesen/verändern
Hallo!
Ich habe mir vorgenommen, ein kleines Tool für mein Hotmail-Account zu schreiben, mit dem man per Knopfdruck die E-Mail-Adressen eintragen kann (gibt's zwar schon, das Speed-Verzeichnis von Hotmail fasst aber nur 5 Einträge!)
So, jetzt ist mir schon klar, dass es sich bei dem Addressenfeld in Hotmail um ein stinknormales Edit-Feld handelt.
Nun sollte meine Anwendung in der Lage sein, in dieses Feld etwas hineinzuschreiben bzw. zu löschen. Hier wird natürlich davon ausgegangen, dass das "neue Email-Senden" -Fenster in Hotmail auf ist.

Fragen:
a) Wie kann ich mit Delphi auf dieses Edit-Feld zugreifen? Hat das Feld eine bestimmte ID, mit der es identifiziert wird?

b) Um Änderungen an dem Edit-Feld vorzunehmen, muss der Server ja nicht angesprochen werden; das Feld ist ja statisch auf der Seite angebracht (auf Deutsch: Erst, wenn man auf "Email Schicken" klickt, wird aus dem Edit-Feld gelesen).
Also dürfte das Vorhaben doch für jedes x-beliebige Edifeld im Browser möglich sein, oder?


Nun, danke schonmal im Voraus
und verzeiht mir meine N00bigkeit ^__^ :roll:


inselberg - So 30.03.03 23:43

Zitat:

a) Wie kann ich mit Delphi auf dieses Edit-Feld zugreifen? Hat das Feld eine bestimmte ID, mit der es identifiziert wird?

wenn du ein normales input feld in html meinst ... guck dir mal den code der seite an ... und such nach dem namen der elements :)

b) hab ich nicht verstanden ...

aber hier mal en bisschen code womit du das machen kannst von dem ich denke das du vor hast


Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
...
uses mshtml,activex 
...
var  Inp  : IHTMLInputElement;
       Doc  : IHTMLDocument2;
...
  if Supports(www.Document, IHTMLDocument2, Doc) then
 begin
    Disp := Doc.all.item('den namen des input feldes', 0);
   if Supports(Disp, IHTMLInputElement, Inp)  then Inp.value :='[b]hello world[/b]';
end;
...
 (Inp as IHTMLElement).click; // hier möchte ich mal drücken


Moderiert von user profile iconUGrohne: Code-Tags eingefügt


Shadowdragon - Mi 23.07.03 19:12

Öh....er findet MSHTML.dcu nicht... o_O