![]() |
twebbrowser Bild per Dateiname suchen und anklicken
Hi zusammen
Wie ist es möglich ein Element im TWebBrowser per Dateiname zu finden? Und das es nachher möglich ist auch noch darauf zu klicken? (Element.click) Mfg. :?: :mrgreen: :-D |
Re: twebbrowser Bild per Dateiname suchen und anklicken
Hallo Blumi,
Durchlaufe alle Bilder im TWebbrowser, ermittle die URL und überprüfe, ob die URL den Dateinamen enthält. Beispiel:
Delphi-Quellcode:
Beispielaufruf:
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;
Delphi-Quellcode:
ClickImgByFileName(Webbrowser1, meinbildxyz.gif);
|
Re: twebbrowser Bild per Dateiname suchen und anklicken
Das Bild wird gar nicht erst gefunden.
Gibt es eine Möglichkeit auch in der Datei noch zu suchen, die per JavaScript eingebunden wird? Das Bild wird per JavaScript eingebunden. Wenn ich aber im Browser auf Eigenschaften klicke wird mir der Dateiname ja trotzdem angezeigt klar. Aber im Quelltext der HTML Datei ist dieses Bild dann trotzdem nicht vorhanden! Wie geht man dort vor? :-D :?: |
Re: twebbrowser Bild per Dateiname suchen und anklicken
Zitat:
Handelt es sich um ein Captcha? Dann habe ich leider keine Lösung. |
Re: twebbrowser Bild per Dateiname suchen und anklicken
Zitat:
Aber es handelt sich nicht um ein Captcha! Ich will ja auf das Bild klicken ;) |
Re: twebbrowser Bild per Dateiname suchen und anklicken
Moin,
wenn der Dateiname des zu ladendend Image sich nur in JS-Code finden lässt, dann ist es wahrscheinlich effektiver den Image-Link über seine absolute oder relative Position im DOM zu lokalisieren, zu einem Zeitpunkt in dem das Image fest im DOM verankert ist. Absolut, wenn möglich. Relativ heißt, dass du ein benanntes Element in der Nähe (Parent, Sibling, ...) ausfindig machst, an dem du dich lang hangeln kannst. Wie du das Bild dann anklickst hat dir Tom ja schon gezeigt. Grüße vom marabu |
Re: twebbrowser Bild per Dateiname suchen und anklicken
Ist es möglich die Routine von toms so zu ändern das kein ie-fenster geöffnet wird, sondern die Seite im TWebBrowser angezeigt wird wenn geklickt wird?
Desweiteren müsste mein Programm nicht nach dem Dateinamen suchen sondern nach dem link der in href= steht, kann man die Routine dazu umschreiben? ich sag schon mal ...danke für eure Hilfe. |
Re: twebbrowser Bild per Dateiname suchen und anklicken
schau dir mal die Ereignisliste von TWebBrowser an, da gibt es Eines (ich glaub das fängt mit OnNew... an) für seite/Link soll in neuem Fenster geladen werden ... dieses fängst du n der Prozedur ab (entsprechenden Parameter setzen) und lädst die seite selber im TWebBrowser (die URL wird dir auch von der Prozedur geliefert)
so hatte ich das mal gemacht (k.A. ob es nicht doch irgendwo eine versteckte "nicht in neuem Fenster laden"-Option gibt) |
Re: twebbrowser Bild per Dateiname suchen und anklicken
Zitat:
Delphi-Quellcode:
// 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 |
Re: twebbrowser Bild per Dateiname suchen und anklicken
Nein, Die Routine sucht im Pfad zum Bild und nicht in dem Link der aufgerufen wird wenn man es anklickt. Habe simghref in einem Memo auflisten lassen, da wurden wir die imagepfade angezeigt und nicht die Links.
Edit: in diesem code wird das angezeigt was in img src=" steht und nicht was in href=" Hier mal ein Beispiel wie der html text aussieht:
Delphi-Quellcode:
[url="zeigefoto.php?nr=32"][img]http://www.meineseite.de/bilder/foto32.jpg[/img][/url]
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:54 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz