Einzelnen Beitrag anzeigen

smt

Registriert seit: 29. Okt 2007
15 Beiträge
 
#1

Wie komme ich an alle Attribute von IHTMLElement ?

  Alt 21. Jan 2010, 11:01
Hallo,

ich such jetzt schon mehrere Tage, aber irgendwie find ich die Lösung nicht.

Ich rufe mit dem TWebbrowser bzw. TEmbeddedWeb eine Webseite auf. Und ich möchte nun an verschiede Attribute der Elemente kommen. Beispielsweise an das Attribut "Value" bei einem Button.

Dazu kann ich ja mit IHTMLElement.getattributes('value',0) dran kommen. Das funktioniert auch soweit. Aber: Wie komme ich denn an ALLE Attribute eines Elements? Der Sourcecode hier unten bringt mir auch Attribute, aber z.B. "Value" ist nie dabei

Beispiel: Ich habe folgenden HTML-Code:

<input type="submit" id="Button1" name="Button1" value="Login" tabindex="0" />

Dann bekomme ich mit IHTMLElement.getattributes('value',0) das Ergebnis: "Login"
Wie aber komme ich darauf, das das Attribut value heisst, bzw. wie komme ich an alle Attribute?

Ich hab dazu folgendes geschrieben, es liefert auch Attribute zurück, aber eben nicht die, die ich suche.


Delphi-Quellcode:
procedure getallattributes(element: IHTMLElement; var liste : TStringList);
VAR domnode : IHTMLDomNode;
    col : IHTMLAttributeCollection;
    att : IHTMLDOMAttribute2;
    i : Integer;
begin
   domnode:=element as IHTMLDomNode;
   col:=domnode.attributes as IHTMLAttributeCollection;

   for i := 0 to col.length - 1 do begin
      att:=col.item(i) as IHTMLDomAttribute2;
      if (att.value <> '') and (att.value <> 'null') then liste.Add(att.name + '=' + att.value);
   end;
end;

Hat irgendjemand eine Idee?
Danke !!!

Viele Grüße

- Sascha -
  Mit Zitat antworten Zitat