![]() |
Webbrowser element click
Hallo
ich möchte im Webbrowser so einen click machen
Delphi-Quellcode:
Das Problem ist aber, es gibt 2 Elemente mit der ID a. Sie haben aber verschiedene Values. Gibt es sowas wie 'getElementByValue' ?WebBrowser1.OleObject.document.getElementById('a').click; MfG |
Re: Webbrowser element click
Man sollte auch nicht mehrere Elemente mit der selben ID bezeichnen. habe diese Elemente verschiedene Namen?
|
Re: Webbrowser element click
Ich habe die Namen auch nicht ausgesucht.
Gibt es einen unterschied zwischen Name und ID ? Das einzige was sich unterscheidet sind die Values. MfG |
Re: Webbrowser element click
Nein das 2 verschidene Eigenschaften. Die IDs sollte sich auf jedenfall unterscheiden.
|
Re: Webbrowser element click
Wie kann ich das dann Rausfinden ?
Also im Seitenquelltext kann ich nur die Informationen finden die auch Firefox bei Seiteninformationen - Formular anzeigt : Beschreibung: -, - Typ:submit, submit Feldname: a, a Wert: 1, 2 MfG |
Re: Webbrowser element click
Du müsstest durch alle HTML-Elemente navigieren und anhand des Wertes entscheiden.
|
Re: Webbrowser element click
Tipp:
Besorg' dir den IE Developer Toolbar. Damit kann man die Elemente genau analysieren. ![]() Installieren und im IE Menü Ansicht->Explorer-Leiste->IE Developer Toolbar |
Re: Webbrowser element click
Zitat:
|
Re: Webbrowser element click
Ist Sourceindex die ID ?
Der eine Button hat nämlich 148 und der andere 150. Aber vorher hatte ich ja getElementById('a') und das a war dann der Feldname. Was ist dann die ID ? Wie kann ich jetzt damit den Richtigen Button clicken ? MfG |
Re: Webbrowser element click
Zitat:
ie kann ich jetzt damit den Richtigen Button clicken ?
Code:
müßte gehen.
document.forms[0].elements[150].click();
|
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(); |
Re: Webbrowser element click
Hab das nicht mit TWebBrowser getestet, sondern nur anhand des JS-DOM. Bin bisher ausgegangen, das dies identisch sei.
![]() |
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:
Kann ich hier irgendwo noch das 150 einbauen ?Webbrowser1.OleObject.Document.forms.item(0).Elements.item.click; MfG |
Re: Webbrowser element click
|
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; ![]() So gehts. :-D MfG |
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:
Grüße vom marabu
WebBrowser.OleObject.document.forms.item(0).Elements.item('a', 1).click;
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:02 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