Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Twebbrowser type=image anklicken (https://www.delphipraxis.net/110609-twebbrowser-type%3Dimage-anklicken.html)

n000b 20. Mär 2008 18:34


Twebbrowser type=image anklicken
 
Hallo,
Erstmal vielen einen Lob an den größten Delphi Forum =]

Mein problem... :-)
Es gibt ein button welchen ich gerne per Twebbrowser anklicken würde.
Der Code in HTML.
Zitat:

<input width="102" type="image" height="22" border="0" accesskey="S" value="klickmich" name="action" src="blablabla.gif"/>
so nun habe ich das mit
Zitat:

WebBrowser1.OleObject.document.forms.item(0).eleme nts.type('action').click
mein complimieren kommt kein Fehler doch beim anklicken kommt einer..
Zitat:

Project Project1.exe raised exception class EOleError with message 'Method 'type' not supported by automation object'.
Hat jemand einen Tip?
danke, mfg

Pfoto 20. Mär 2008 18:47

Re: Twebbrowser type=image anklicken
 
Hallo und willkommen n000b!

ich kann zwar nicht den Grund des Fehlers erklären, aber
dir einen Workaround vorschlagen -- falls der Fehler
weiterhin nicht zu lösen ist.

Du könntest einen normalen Button mit CSS formatieren,
also quasi unsichtbar machen und nur das Bild anzeigen,
beispielsweise:
Delphi-Quellcode:
<input type="button" style="background: url(...) no-repeat center center; width: 100px; height: 100px;" />

Gruß
Pfoto

marabu 20. Mär 2008 19:17

Re: Twebbrowser type=image anklicken
 
Hallo,

hast du es schonmal so probiert?

Delphi-Quellcode:
 WebBrowser1.OleObject.document.forms.item(0).elements.item('action').click
elements.type('action') dürfte nicht funktionieren ...

Freundliche Grüße

n000b 20. Mär 2008 20:20

Re: Twebbrowser type=image anklicken
 
Zitat:

Zitat von marabu
Hallo,

hast du es schonmal so probiert?

Delphi-Quellcode:
 WebBrowser1.OleObject.document.forms.item(0).elements.item('action').click
elements.type('action') dürfte nicht funktionieren ...

Freundliche Grüße

Oh tut mir leid tippfehler, ja genau das habe ich versucht (mit item) geht nicht...

Kann ich vielleicht einer art POST befehl direkt im twebbrowser ausführen?

Mfg

toms 20. Mär 2008 21:08

Re: Twebbrowser type=image anklicken
 
Hallo,

Probiere mal meine WB_ClickImage() Funktion:

Delphi-Quellcode:
procedure WB_ClickImage(WB: TWebbrowser; ImageSRC: string);
var
  iDoc: IHtmlDocument2;
  i: Integer;
  iDisp: IDispatch;
  iColl: IHTMLElementCollection;
  InputImage: HTMLInputImage;
begin
  if Assigned(WB.Document) then
  begin
    WB.Document.QueryInterface(IHTMLDocument2, iDoc);
    if Assigned(iDoc) then
    begin
      iDisp := iDoc.all.tags('INPUT');
      if Assigned(iDisp) then
      begin
        iDisp.QueryInterface(IHTMLElementCollection, iColl);
        if Assigned(iColl) then
        begin
          ImageSRC := AnsiUpperCase(ImageSRC);
          for i := 1 to iColl.Get_length do
          begin
            iDisp := iColl.item(Pred(i), 0);
            iDisp.QueryInterface(HTMLInputImage, InputImage);
            if Assigned(InputImage) then
            begin
              if Pos(ImageSRC, AnsiUpperCase(InputImage.src)) <> 0 then
              begin
                InputImage.Click;
              end;
            end;
          end;
        end;
      end;
    end;
  end;
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
  WB_ClickImage(Webbrowser1, 'blablabla.gif');
end;

n000b 21. Mär 2008 23:46

Re: Twebbrowser type=image anklicken
 
Hey, vielen Dank für die Hilfe!
Delphi zeigt paar fehler an ...kann es nicht complieren..

Delphi-Quellcode:
Z.B. bei:
iDoc: IHtmlDocument2;
undeclered idintifer IHtmlDocument2...
muss da noch was bei "uses:" hin oder wieso geht es nicht?
Mfg


PS: Frohe OSTERN!!

toms 22. Mär 2008 05:31

Re: Twebbrowser type=image anklicken
 
Delphi-Quellcode:
uses
  MSHTML;

n000b 22. Mär 2008 09:51

Re: Twebbrowser type=image anklicken
 
Vielen Dank^^


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:41 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