Radiobutton auswählen

  • Hallo,

    ich habe ein Problem. Und zwar möchte ich gerne einen Radiobutton anwählen.
    Der Quelltext des Radiobuttons sieht wie folgt aus:

    PHP


    Mein Versuch mit dem ich gescheiter bin sieht wie folgt aus:

    [autoit]

    _FFClick("cbTreatment","name")

    [/autoit][autoit][/autoit][autoit]

    ; => oder
    _FFFormRadioButton("cbTreatment", 0, "name", "formRegistro", "name")

    [/autoit]


    Aber es will einfach nicht klappen. Weiß da jemand vielleicht Rat?

    5 Mal editiert, zuletzt von J1nZ (12. Januar 2011 um 06:51)

  • Hallo J1nZ,

    herzlich willkommen im Forum und viel Spass mit AutoIt.

    Hier kannst du dir die Hilfe herunterladen.
    Hier gibt es ein AutoIt-Tutorial: http://wiki.autoit.de/wiki/index.php/TutorialSehr hilfreich ist auch das Buch von peethebee

    Hallo ,

    • Mozrepl wird dafür benötigt, kannst du von hier installieren: http://wiki.github.com/bard/mozrepl/
    • FF.au3 herunterladen
    • Mozrepl über Extras|Mozrepl im Firefox starten
    • Funktionsrefernz findest du hier
    • Zum testen Skript starten: [autoit]#Include <FF.au3>

      _FFStart("http://ff-au3-example.thorsten-willert.de/")

      If _FFIsConnected() Then
      _FFFormRadioButton(1, 0, "index")
      Sleep(3000)
      _FFFormRadioButton("size", 1, "name", "Pizza", "name")
      EndIf

      [/autoit]
    [autoit][/autoit]
      [/autoit]

    und jetzt zu deinem Problem, da der Quellcode des Buttons nicht sichtbar ist, solltest du deinen 1. Beitrag bearbeiten. Sehr wichtig wäre die Ausgabe der Scite-Konsole, meist ist auch die URL der Seite hilfreich,


    mfg autoBert

  • Ich habe oben einmal meinen Beitrag editiert.
    Die Ausgabe der Scite-Konsole hilft mir nicht viel weiter, da sie keinen Fehler ausgibt :/

  • Hallo J1nZ,

    Die Ausgabe der Scite-Konsole hilft mir nicht viel weiter, da sie keinen Fehler ausgibt

    aber sie zeigt was bei der Kommunikation zwichen AutoiIt,MozRepl,FreFox gelaufen isz. Hier die Konsole zu dem im vorherigen Beitrag gepoteten Beeipielkript zu _FFFormRadioButton.

    Also bitte posten.

    Läuft den wenigsten das Beipiel-Skript? Wenn nein:Ist Mozrepl bei dir intalliert und getartet?

    mfg autoBert

  • Meine Console gibt folgendes aus:

    Code
    _FFConnect: OS:WIN_7 WIN32_NT 7600_FFConnect: AutoIt:3.3.6.1_FFConnect: FF.au3:0.6.0.1b-3_FFConnect: IP:127.0.0.1_FFConnect: Port:4242_FFConnect: Delay: 2ms_FFConnect: Socket: 252_FFConnect: Browser:Mozilla/5.0 (Windows; U; Windows NT 6.1; de; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13__FFSendJavaScripts: Sending functions to FireFox .......... done_FFOpenURL: about:blank__FFSend: try{window.content.top.document.location.href='about:blank'}catch(e){'_FFCmd_Err';};__FFRecv: about:blank_FFLoadWait: .. loaded in 294ms__FFSend: try{FFau3.WCD=window.content.top.document;}catch(e){'_FFCmd_Err';};__FFRecv: [object XPCNativeWrapper [object HTMLDocument]] — {contentType: "text/html", addEventListener: function() {…}, title: "", forms: {…}, characterSet: "UTF-8"}__FFSend: try{gBrowser.selectedTab = gBrowser.addTab('http://de.privatesalesclub.buyvip.com/zanox?zanpid=1455336803019000832')}catch(e){'_FFCmd_Err';};__FFRecv: [object XULElement] — {linkedBrowser: {…}, _tPos: 6, mOverCloseButton: false, mCorrespondingMenuitem: null, arrowKeysShouldWrap: false, accessibleType: 4119, control: {…}, ...}_FFLoadWait: ........ loaded in 1926ms__FFSend: FFau3.xpath=null;try{FFau3.xpath=FFau3.WCD.evaluate("//form[@name='formRegistro']//input[@type='radio' and @name='cbTreatment' and position()=3]",FFau3.WCD,null,XPathResult.FIRST_ORDERED_NODE_TYPE,null).singleNodeValue.checked=true;}catch(e){'_FFXPath_Error: '+e;};__FFRecv: _FFXPath_Error: TypeError: FFau3.WCD.evaluate("//form[@name='formRegistro']//input[@type='radio' and @name='cbTreatment' and position()=3]", FFau3.WCD, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue is null__FFSend: try{window.content.top.document.getElementsByName('txtName')[0].value='vorname'}catch(e){'_FFCmd_Err';};_FFXPath ==> No match: singleNodeValue is null $sQuery: //form[@name='formRegistro']//input[@type='radio' and @name='cbTreatment' and position()=3] - checked=true__FFRecv: vorname__FFSend: try{window.content.top.document.getElementsByName('txtFirstSurname')[0].value='nachname'}catch(e){'_FFCmd_Err';};__FFRecv: nachname__FFSend: try{window.content.top.document.getElementsByName('txtEmail')[0].value='email'}catch(e){'_FFCmd_Err';};__FFRecv: email__FFSend: try{window.content.top.document.getElementsByName('txtPassword1')[0].value='123456789'}catch(e){'_FFCmd_Err';};__FFRecv: 123456789

    Das wichtige ist bestimmt dieses Stelle:

    Code
    __FFSend: FFau3.xpath=null;try{FFau3.xpath=FFau3.WCD.evaluate("//form[@name='formRegistro']//input[@type='radio' and @name='cbTreatment' and position()=3]",FFau3.WCD,null,XPathResult.FIRST_ORDERED_NODE_TYPE,null).singleNodeValue.checked=true;}catch(e){'_FFXPath_Error: '+e;};__FFRecv: _FFXPath_Error: TypeError: FFau3.WCD.evaluate("//form[@name='formRegistro']//input[@type='radio' and @name='cbTreatment' and position()=3]", FFau3.WCD, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue is null__FFSend: try{window.content.top.document.getElementsByName('txtName')[0].value='vorname'}catch(e){'_FFCmd_Err';};_FFXPath ==> No match: singleNodeValue is null $sQuery: //form[@name='formRegistro']//input[@type='radio' and @name='cbTreatment' and position()=3] - checked=true


    Und das Beispieltscript läuft einwandfrei. Genauso wie der Rest vom Formular. Denn das wird auch korrekt ausgefüllt. Nur dieser Radiobutton nicht.

    2 Mal editiert, zuletzt von J1nZ (30. Dezember 2010 um 17:09)

  • Hallo

    teste eimal die Methode über den Index:

    [autoit]

    _FFStart("DieURL")
    If _FFIsConnected() Then
    _FFFormRadioButton(0, 0, "index") ;Herr
    Sleep(8000)
    _FFFormRadioButton(1, 0, "index") ;Frau
    Sleep(8000)
    _FFFormRadioButton(0, 0, "index") ;Herr
    Sleep(8000)
    EndIf

    [/autoit][autoit][/autoit][autoit][/autoit]

    mfg autoBert

  • Klappt leider auch nicht.
    Gibt es nicht vielleicht noch andere Möglichkeiten diesen verdammten Radiobutton zu aktivieren ?

  • Hallo J1nZ,

    wenn ich bei mir die Url (aus deiner cite-Consolenaugabe) eintrage, klappt es mit dem in meinem vorherigen Beitrag geposteten Skript => es wird Herr angewählt, nach 8 sec wird Frau angewählt, nach weiteren 8 Sekunden wird wieder Herr angewählt. Über die FF.AU3 weiss ich eigentlich so gut wie nichts, das Skript beruht auf dem Beispiel in der Dokumentation zu _FFFormRadioButton

    mfg autoBert