Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi link klicken im twebbrowser simulieren? (https://www.delphipraxis.net/43583-link-klicken-im-twebbrowser-simulieren.html)

jens76 6. Apr 2005 08:49


link klicken im twebbrowser simulieren?
 
hallo!

wie kann ich im twebbrowser einen link "klicken" auf einer geladenen seite?
der link kann nahand des angegeben textes erkannt werden, aber nicht duche den verweis, da der sich immer wieder ändert.

gibt es da einen befehl ähnlich dem beim absenden von formularen?

und wie müßte ich es anstellen das genau dieser link geklickt wird?

wollte eher sowas wie einen klick auf den link simulieren.
beim auslesen des verweises gehen irgendwelche infos verloren und ich komme nicht da an wo ich will.
allerdings wenn ich im twebbr. den link klicke gehts.
frag nciht warum aber ist so

einer eine idee wie ich das machen kann?

toms 6. Apr 2005 10:02

Re: link klicken im twebbrowser simulieren?
 
Hallo!

Habe schnell ein Beispiel geschrieben, wie man's machen koennte.


Delphi-Quellcode:
uses
   MSHTML;

function WB_ClickLink(WB: TWebbrowser; const LinkText: string): Boolean;
var
  HTMLDocument2: IHTMLDocument2;
  Element: IHTMLElement;
  I: Integer;
begin
  HTMLDocument2 := WB.Document as IHTMLDocument2;
  for I := 0 to HTMLDocument2.Links.Length - 1 do
  begin
    Element := HTMLDocument2.Links.Item(I, 0) as IHTMLElement;
    if Element.GetAttribute('innerText', 0) = LinkText then
    begin
      Element.Click;
      Break;
    end;
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  Webbrowser1.Navigate('www.google.ch');
  repeat
    Application.ProcessMessages;
  until WebBrowser1.ReadyState >= READYSTATE_COMPLETE;
  WB_ClickLink(Webbrowser1,'Bilder');
end;

jens76 6. Apr 2005 10:22

Re: link klicken im twebbrowser simulieren?
 
der code klingt gut!

und geht bestens!!!

DANKE!!!!

toms 6. Apr 2005 10:26

Re: link klicken im twebbrowser simulieren?
 
Hier im Forum suchenMSHTML importieren

tomate007 11. Dez 2007 09:10

Re: link klicken im twebbrowser simulieren?
 
Nochmal das Thema ausgrab....

Ich find die Lösung ja schon 1a, allerdings kann ich die so bei mir irgendwie nicht anwenden da alle Hyperlinks auch noch so ein Aufzählungszeichen haben.

Wenn ich nun einfach den Text des Hyperlinks kopiere kommt in Delphi ein ? sieht also so aus:

?Meine Daten

also hab ich mir gedacht, gut... dann gehste mal in den Quelltext und kopierst es da... folgendes kam raus:

◊Meine Daten

das funktioniert aber leider auch nicht... auch ohne nbsp geht es nicht... das &loz ist dieses aufzählzeichen.

hat einer ne Idee wie ich sonst diesen Hyperlink "klicken" könnte?? also es ist immer der gleiche Link also von daher könnte man dannach filter...


Ich danke euch für eure Hilfe

MFG
Andre

marabu 10. Feb 2008 08:05

Re: link klicken im twebbrowser simulieren?
 
Hallo Andre,

ich hoffe du konntest dein Problem lösen.

Delphi-Quellcode:
function WB_ClickLink(WB: TWebbrowser; const LinkText: string): Boolean;
var
  HTMLDocument2: IHTMLDocument2;
  Element: IHTMLElement;
  I: Integer;
begin
  HTMLDocument2 := WB.Document as IHTMLDocument2;
  for I := 0 to HTMLDocument2.Links.Length - 1 do
  begin
    Element := HTMLDocument2.Links.Item(I, 0) as IHTMLElement;
    if {Masks.}MatchesMask(Element.innerText, LinkText) then
    begin
      Result := True;
      Element.Click;
      Exit;
    end;
  end;
  Result := False;
end;
Freundliche Grüße

BBoy 1. Jun 2009 11:09

Re: link klicken im twebbrowser simulieren?
 
Diese routine ist super und funktioniert auch.
Allerdings liest die nur sichtbare text links aus. Ist es auch möglich unsichtbare bzw. Grafiklinks auszulesen? Oder einfach eine Möglichkeit wirklich alle links der seite auszulesen, den rest kann ich dann im programm aussortieren.

TheMiller 1. Jun 2009 11:23

Re: link klicken im twebbrowser simulieren?
 
Du könntest den Quelltext nach Link-Tags mit RegExepressions parsen und dann alle Links auflisten und den raussuchen, den du brauchst.

Hier nochmal der Link zur Komponente. Die macht genau das, was du willst.

http://regexpstudio.com/TRegExpr/TRegExpr.html

BBoy 1. Jun 2009 11:35

Re: link klicken im twebbrowser simulieren?
 
ok, das würde sicher funktionieren. Aber wie klicke ich den link dann ? Es ist wichtig das es ein echter klick ist und nicht einfach ein link der in navigate2 aufgerufen wird.

toms 1. Jun 2009 11:50

Re: link klicken im twebbrowser simulieren?
 
Meinst du so?


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:18 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz