Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Webbrowser element click (https://www.delphipraxis.net/94427-webbrowser-element-click.html)

ebber 21. Jun 2007 15:28

Re: Webbrowser element click
 
Leider nicht

OleError : Die Methode 'elements' wird vom Automatisierungsobjekt nicht unterstützt.

Ich denke nicht das ich hier was vertauscht habe : ?

Delphi-Quellcode:

Webbrowser1.OleObject.Document.forms[0].elements[150].click();

mkinzler 21. Jun 2007 15:32

Re: Webbrowser element click
 
Hab das nicht mit TWebBrowser getestet, sondern nur anhand des JS-DOM. Bin bisher ausgegangen, das dies identisch sei.
http://de.selfhtml.org/javascript/objekte/elements.htm

ebber 21. Jun 2007 15:47

Re: Webbrowser element click
 
Ich bin leider noch nicht schlauer geworden.

Das ist das einzigste was er überhaupt an nimmt. So wird der eine Button (vermutlich der erstere) geklickt, leider der falsche.

Delphi-Quellcode:

Webbrowser1.OleObject.Document.forms.item(0).Elements.item.click;
Kann ich hier irgendwo noch das 150 einbauen ?

MfG

mkinzler 21. Jun 2007 15:49

Re: Webbrowser element click
 
Vielleicht hilft das:
http://www.cryer.co.uk/brian/delphi/..._oleobject.htm

ebber 21. Jun 2007 16:34

Re: Webbrowser element click
 
Danke.

In gewisser Weise hat mir das geholfen. Nach längerem auf Links klicken habe ich das hier gefunden :

Delphi-Quellcode:

// If there is more than one button, you can do something like:

var
  ovElements: OleVariant;
  i: Integer;
begin
  ovElements := WebBrowser1.OleObject.Document.forms.item(0).elements;
  for i := 0 to (ovElements.Length - 1) do
    if (ovElements.item(i).tagName = 'INPUT') and
      (ovElements.item(i).type = 'SUBMIT') and
      (ovElements.item(i).Value = 'Recent Charges') then
      ovElements.item(i).Click;

http://www.swissdelphicenter.com/en/...de.php?id=1604

So gehts. :-D

MfG

marabu 21. Jun 2007 17:34

Re: Webbrowser element click
 
Hallo,

nur um das Rätsel noch aufzulösen: Wenn mehrere Elemente mit gleichem ID existieren, dann besorgt man sich eine Collection mittels getElementsByName() oder greift über den Namen (NAME oder ID) und den richtigen index (zero based) zu:

Delphi-Quellcode:
WebBrowser.OleObject.document.forms.item(0).Elements.item('a', 1).click;
Grüße vom marabu


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:05 Uhr.
Seite 2 von 2     12   

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