Einzelnen Beitrag anzeigen

Benutzerbild von toms
toms
(CodeLib-Manager)

Registriert seit: 10. Jun 2002
4.648 Beiträge
 
Delphi XE Professional
 
#2

Re: twebbrowser Bild per Dateiname suchen und anklicken

  Alt 13. Aug 2008, 05:45
Hallo Blumi,

Durchlaufe alle Bilder im TWebbrowser, ermittle die URL und überprüfe, ob die URL den Dateinamen enthält.

Beispiel:

Delphi-Quellcode:
uses
  MSHTML;

function WB_ClickImgByFileName(WB: TWebbrowser; ImgFileName: string): Boolean;
// Hinweis: Funktioniert nicht, falls sich das Bild in einem Frame befindet
var
  iImgCounter: Word;
  sImgHref: string;
  iHtmlDoc: IHtmlDocument2;
begin
  Result := False;
  iHtmlDoc := WB.Document as IHtmlDocument2;
  // Durchlaufe alle alle Bilder im TWebbrowser
  for iImgCounter := 0 to WB.OleObject.Document.Images.Length - 1 do
  begin
    // URL des Bildes[iImgCounter] ermitteln
    sImgHref := (iHtmlDoc.Images.Item(iImgCounter, 0) as IHTMLImgElement).Href;
    // Dateiname des Bildes[iImgCounter] überprüfen
    if Pos(ImgFileName, sImgHref) <> 0 then
    begin
      try
        // Click aufrufen
        ((iHtmlDoc.Images.Item(iImgCounter, 0) as IHTMLImgElement) as IHTMLElement).Click;
        Result := True;
      except
        // Ein Fehler ist aufgetreten
      end;
    end;
  end;
end;
Beispielaufruf:

ClickImgByFileName(Webbrowser1, meinbildxyz.gif);
Thomas
  Mit Zitat antworten Zitat