ie.au3 Button anhand der Beschriftung selektieren?

  • Hallo, ich habe folgendes Problem:
    Ich will lediglich auf einen Button einer Weboberfläche klicken, die Buttons haben kein "name" und die ID wird dynamisch generiert ->ändert sich also.
    Als einzige statische Eigenschaft der Buttons hätte ich also den Namen.
    Buttonquelltext sieht zB so aus:

    Code
    <button class="x-btn-text " type="button" id="ext-gen72">Delegate</button>

    _IELinkclickbyTest() funktioniert nicht.

    Gibt es eine möglichkeit den Button anhand seiner Beschriftung zu selektieren?

    Einmal editiert, zuletzt von Royal (28. Januar 2013 um 15:31)

  • Ich hoffe ich darf das nochmal pushen, ich komme hier ohne eine Möglichkeit gerade echt nicht weiter..

  • _IELinkclickbyTest() funktioniert nicht.

    da dies ja eine selbstgestrickte Funktion ist solltest du auch den Quellcode dazu einstellen.

    _IELinkclickbyTest() Gibt es eine möglichkeit den Button anhand seiner Beschriftung zu selektieren?

    Mit Sicherheit, aber ob schon jemand eine solche Funktion entwickelt hat, kA.

    Die Vorgehensweise wäre:

    • mit _IEFormElementGetCollection die Objektsammlung aller
      Formular-Elemente des Formulars abholen
    • diese mit For...In...Next durchgehen
    • bei jedem Durchgang prüfen ob das Objekt den gesuchten Text hat
      Hierbei hilft die Lektüre der MSDN zum Objektmodell des IE sicher ungemein.

    du kannst jetzt also

    • diverse Foren nach einer fertigen Funtion durchsuchen
    • dir selbst eine solche Funktion entwickeln
    • die Seite benennen damit man schauen kann ob es nicht doch mit normalen Bordmitteln funktioniert

    mfg autoBert

  • Vielen Dank,

    _IEFormElementGetCollection hat zwar leider auch nicht funktioniert, allerdings bin ich durch diese Funktion auf Tagcollection gestoßen, welche läuft.

    Hier noch der funtionierende Code um einen Button per beschriftung zu klicken, den ich nicht vorenthalten will:

    Code
    Func button_click($frame,$button)
       Sleep($delay)
       $oButtons = _IETagNameGetCollection($frame, "button")
       For $oButton in $oButtons
    	  if _IEPropertyGet($oButton, "innertext") = $button Then
    		 _IEAction($oButton,"click")
    	  ExitLoop
    	  EndIf
       Next
    EndFunc