Hallo,
seit kurzem beschäftige ich mit der Programmierung der Twebbrowserkomponente bzw des Internet Explorer.
Das Ziel ist das Erfassen von Metadaten zu HTML Seiten befindlichen Bildern.
Dazu müssen die Bilder in den Seiten gefunden werden. Ich finde über die
Document.all Collection
<PRE>
var DOC :IHTMLDocument2;
ElementCollection: IHTMLElementCollection;
begin
doc := WebBrowser1.Document as IHTMLDocument2;
ElementCollection := Doc.all;
....
</PRE>
und die Bedingung
<PRE>
if HTMLElement.tagName = 'IMG' then
</PRE>
die Images in dieser Collection finden.. Ich kann z.B. auf die URL dieser Images zugreifen. Ich kann den Twebbrowser in den Editmode versetzen
<PRE>
(WebBrowser1.Document as IHTMLDocument2).designMode :='On';
</PRE>
und Bilder programmatisch einfügen.
<PRE>
(WebBrowser1.Document as IHTMLDocument2).ExecCommand('InsertImage', False,
'http://Domainname/_bilder\kontak_01.jpg');
</PRE>
Ich kann auch das gesamte Dokument markieren
<PRE>
(WebBrowser1.Document as IHTMLDocument2).ExecCommand('SelectAll',False,Empt yParam);
</PRE>
Frage:
Wenn ich ein Bild im Editmode des Twebbrowser von Hand markiere, kann ich es anschließend programmatische durch ein anderes Bild ersetzen, was mir aber nicht gelingt, ist ein „bestimmtes Bild programatisch“ zu markieren, um es dann zu ersetzen
Grüsse
Peter
seit kurzem beschäftige ich mit der Programmierung der Twebbrowserkomponente bzw des Internet Explorer.
Das Ziel ist das Erfassen von Metadaten zu HTML Seiten befindlichen Bildern.
Dazu müssen die Bilder in den Seiten gefunden werden. Ich finde über die
Document.all Collection
<PRE>
var DOC :IHTMLDocument2;
ElementCollection: IHTMLElementCollection;
begin
doc := WebBrowser1.Document as IHTMLDocument2;
ElementCollection := Doc.all;
....
</PRE>
und die Bedingung
<PRE>
if HTMLElement.tagName = 'IMG' then
</PRE>
die Images in dieser Collection finden.. Ich kann z.B. auf die URL dieser Images zugreifen. Ich kann den Twebbrowser in den Editmode versetzen
<PRE>
(WebBrowser1.Document as IHTMLDocument2).designMode :='On';
</PRE>
und Bilder programmatisch einfügen.
<PRE>
(WebBrowser1.Document as IHTMLDocument2).ExecCommand('InsertImage', False,
'http://Domainname/_bilder\kontak_01.jpg');
</PRE>
Ich kann auch das gesamte Dokument markieren
<PRE>
(WebBrowser1.Document as IHTMLDocument2).ExecCommand('SelectAll',False,Empt yParam);
</PRE>
Frage:
Wenn ich ein Bild im Editmode des Twebbrowser von Hand markiere, kann ich es anschließend programmatische durch ein anderes Bild ersetzen, was mir aber nicht gelingt, ist ein „bestimmtes Bild programatisch“ zu markieren, um es dann zu ersetzen
Grüsse
Peter