Mit FFXPath Werte Setzen und auslesen ?

  • Guten Morgen

    Ich bastle nun seit ein paar Tagen mit AutoIT und seit gestern mit FF.au3.

    Ich habe folgendes "Problem" bzw verstehe die funktion FFXPath noch nicht richtig.

    Was ich machen möchte:
    Das Script soll auf die Website der Commerzbank Deutschland. Dort angekommen soll oben das Login-Feld ausgefüllt werden mit Benutzer und Passwort.

    Ich habe zuerst versucht mit _FFSetValue die Felder auszufüllen, was jedoch nicht klappt. Der Code:

    [autoit]


    #include <FF.au3>

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

    _FFConnect()

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

    If _FFIsConnected() Then
    _FFOpenURL ("www.commerzbank.de")
    Sleep (1500)

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

    _FFSetValue ("Test", "teilnehmer")

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

    Else
    MsgBox(64, "Ein Fehler ist aufgetreten", "Eine Verbindung mit dem Mozilla FireFox war nicht möglich!")
    EndIf

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

    Funktioniert aber nicht.

    Dann habe ich mit FirePath den XCode ausfindig macht und mit folgenden Code getestet:

    [autoit]


    #include <FF.au3>

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

    _FFConnect()

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

    If _FFIsConnected() Then_FFOpenURL ("www.commerzbank.de")
    Sleep (1500)

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

    MsgBox(64, "Anzahl der BenutzerLogIns:", _FFXPath( "//*[@id='teilnehmer']", "", 10))

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

    Else
    MsgBox(64, "Ein Fehler ist aufgetreten", "Eine Verbindung mit dem Mozilla FireFox war nicht möglich!")
    EndIf

    [/autoit]

    Was mir korrekt eine 1 zurück liefert als Wert (Es ist auch nur ein Feld vorhanden).

    Meine frage ist nun wie ich nun das Feld befüllen kann?!

    Einmal editiert, zuletzt von stiffn (16. Dezember 2014 um 10:35)

  • Hallo,

    so zum Beispiel:

    [autoit]


    _FFSetValue ("Test", "teilnehmer", "id") ; hier muss id oder das ganze Element angegeben werden

    [/autoit]

    oder

    [autoit]


    $sObj = _FFXPath("//*[@id='teilnehmer']", "", 9)
    _FFObj($sObj, "value", "Test")

    [/autoit]

    oder

    [autoit]


    _FFXPath("//*[@id='teilnehmer']", "", 9)
    _FFObj('xpath.value="Test"')

    [/autoit]

    oder auch

    [autoit]


    $sObj= _FFObjGet("teilnehmer", "id") ; returns a string - no object!
    _FFObj($Obj, "value", "Test")

    [/autoit]

    Grüße
    Stilgar

  • Genial - funktioniert - versuche mir noch ein wenig zu erschließen was "unter der haube" passiert, aber des wird hoffentlich noch :D

    Vielen Dank!

  • habe wieder eine frage, es geht um einen Wert den ich auslesen und dann ausgeben/anzeigen möchte.

    [autoit]


    #include <FF.au3>

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

    _FFConnect()

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

    If _FFIsConnected() Then
    _FFOpenURL("http://www.finanzen.net/index/DAX")
    ;MsgBox(64, "Wert", _FFXPath("//*[@id='mainWrapper']/div[7]/div[1]/div[2]/div[2]/table[1]/tbody/tr/th[1]"))

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

    $test1 = _FFXPath("//*[@id='mainWrapper']/div[7]/div[1]/div[2]/div[2]/table[1]/tbody/tr/th[1]")

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

    MsgBox(64, "Wert", $test1)

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

    EndIf

    [/autoit]

    Die MsgBox gibt folgendes aus:
    OBJECT|FFau3.xpath

    In der MsgBox soll aber der Wert ausgegeben werden welcher auf der Internetseite unter dem xpath zu finden ist.