Link anklicken mit wechselnder sessionid

  • Hallo,

    ich möchte auf einer Seite einen Button anklicken der einen Link in dieser Form beinhaltet:
    http://www.ichbindieseite.de/dawillichhin.p…selndeSessionID

    Da das Script öfter läuft, wird die SessionId immer anders sein, der Link davor wird aber gleich sein. Nun möchte ich das AutoIt den Link mit der aktuellen SessionId öffnet.
    Finden soll er den Link mithilfe dieser Angabe http://www.ichbindieseite.de/dawillichhin.php

    Wie könnte ich das realisieren?


    Hoffe ihr versteht mein Problem


    EDIT: Habe noch ein anderes Problem und zwar:
    _FFTabAdd("http://google.de")
    öffnet zwar einen neuen Tab aber wird nicht aktiv. D.h. der vorherige tab bleibt aktiv.
    Woran könnte das liegen?


    Grüße

    Einmal editiert, zuletzt von leedian (10. Januar 2010 um 18:37)

  • Ist das ein einfacher Link irgendwo?!...

    Dann schau dir mal Stilgars Hilfe an :)...

    Also zu _FFLinkClick ->

    Zitat

    Parameters

    Zitat

    $vSearchZu suchender Begriff (Substring) in $sMode, oder Index (0-n) des Links.

    Substring tut auch... Also wird er den Link auch finden, wenn du nur das davor eingibst, SOLANGE er einmalig ist, dürfte das keine Probleme geben ;)...


    LG Acanis

    *edit*

    Achja und sonst einfach, wenn die Position des Links bleibt, mit _FFXPath arbeiten ;)...

    Einmal editiert, zuletzt von Acanis (10. Januar 2010 um 18:42)

  • Ja das ist ein Link den es 2 mal auf der aktuell geöffneten Seite gibt.
    Ich hab jetzt folgendes probiert, leider ohne Erfolg

    Code
    _FFLinkClick("http://www.ichbindieseite.de/dawillichhin.php?" , "text")

    der vollständige Link sähe so aus:

    Code
    http://www.ichbindieseite.de/dawillichhin.php?HierStehtDieWechselndeSessionID
  • Ja das ist ein Link den es 2 mal auf der aktuell geöffneten Seite gibt.
    Ich hab jetzt folgendes probiert, leider ohne Erfolg

    Code
    _FFLinkClick("http://www.ichbindieseite.de/dawillichhin.php?" , "text")


    [/code]


    Der zweite Parameter "text" sagt aus, daß der Link mit dem sichtbaren Text, den man im ersten Parameter angibt geklickt werden soll. Du möchtest allerdings auf die href "klicken", das wäre schon Default im zweiten Parameter, also:

    [autoit]

    _FFLinkClick("http://www.ichbindieseite.de/dawillichhin.php?")

    [/autoit]

    _FFLinkClick

  • mh nein das klappt leider auch nicht.

    Ich muss den Link auch vorne leider abschneiden, da es vorne auch noch eine Zahl gibt die sich ändert.
    Also der Link sieht so aus

    Code
    http://www.wechselndeZahl.ichbindieseite.de/dawillichhin.php?HierStehtDieWechselndeSessionID

    also habe ich folgendes probiert:

    Code
    _FFLinkClick("ichbindieseite.de/dawillichhin.php?")

    Aber das geht leider auch nicht.

  • ja habe ich schon durchgelesen, bin ja schon länger hier angemeldet :)

    Code
    _FFClick ==> No match: $sElement: FFau3.xpath
    _FFLinkClick ==> No match: $vSearch: ichbindieseite.de/dawillichhin.php?

    Heißt das einfach das er den Link so nicht findet?
    Also nochmal zum Verständnis _FFLinkClick kann auch einen Link auf der Seite finden, indem ich nur einen Teil des Links, in diesem Fall ein Teil aus der Mitte des Links, übergebe?
    Kann es daran liegen, dass es den Link 2 mal auf der Seite gibt?

    P.s. danke für eure bisherigen Bemühungen!
    Grüße

  • ja habe ich schon durchgelesen, bin ja schon länger hier angemeldet :)

    Code
    _FFClick ==> No match: $sElement: FFau3.xpath
    _FFLinkClick ==> No match: $vSearch: ichbindieseite.de/dawillichhin.php?


    Hmmm ... dann stell ich die Fragen eben nochmal hier:
    - wie sieht Dein Script aus?

    - wie sieht der HTML-Code der Seite aus?


    Heißt das einfach das er den Link so nicht findet?
    Also nochmal zum Verständnis _FFLinkClick kann auch einen Link auf der Seite finden, indem ich nur einen Teil des Links, in diesem Fall ein Teil aus der Mitte des Links, übergebe?
    Kann es daran liegen, dass es den Link 2 mal auf der Seite gibt?

    P.s. danke für eure bisherigen Bemühungen!
    Grüße


    Ja es wird immer ein Substring gesucht, außer man hat die Variable $_FF_SEARCH_MODE auf 1 umgestellt, dann findet ein voller Vergleich statt.

    Wenn es den Link mit der gleichen href zweimal geben würde, dann wird einfach der erste gefundene Link angeklickt.

  • muss ich nochmal durchgehen, habe aber grad ein anderes Problem.

    Und zwar soll auf folgendes Element geklickt werden

    Code
    <input name="Reg1$btnMainSubmit" id="Reg1_btnMainSubmit" src="images/53/click1.jpg" onclick='javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("Reg1$btnMainSubmit", "", true, "", "", false, false))' style="border-width: 0px;" type="image">

    Aber ich komme da nicht weiter. Habe es mit Xpather probiert

    Code
    _FFClick('Reg1_btnMainSubmit')


    Aber haut so nicht hin.

  • _FFLinkClick() hat zwei Argumente/ Parameter.
    _FFLinkClick("Klick mich, hä hä","text") funktioniert aber trotzdem nicht, denn bei _FFLinkClick wurde der öäü Fehler noch nicht behoben wie bei anderen _FF Funktionen.

    Edit:
    bei mir funktioniert äöü jedenfalls nicht und ich müsste die neuste FF haben, trotz:

    Spoiler anzeigen

    Korrekturen
    - _FFSearch: Error with non-ASCII-chars
    - _FFLinkClick: Error with non-ASCII-chars
    - _FFImageClick: Error with non-ASCII-chars

  • _FFClick klickt per Default auf ein HTML-Element, Du hast wie es aussieht allerdings die ID angegeben, also müßte der Funktionsaufruf so aussehen:

    [autoit]

    _FFClick('Reg1_btnMainSubmit', "id")

    [/autoit]


    In Deinem Fall steht vermutlich eine Fehlermeldung in der Console, in der steht, daß das Element nicht gefunden wurde.

    Was hast Du mit Xpather probiert?
    Dann sollte das vermutlich so aussehen:

    [autoit]

    _FFClick( _FFXPath("//input[@id='Reg1_btnMainSubmit']", "", 9 ) )

    [/autoit]

    Aber da das ganze eh ein Submit-Button ist, würde auch _FFFormSubmit() reichen - ohne Parameter, wenn es nur ein Formular gibt.

  • _FFLinkClick() hat zwei Argumente/ Parameter.
    _FFLinkClick("Klick mich, hä hä","text") funktioniert aber trotzdem nicht, denn bei _FFLinkClick wurde der öäü Fehler noch nicht behoben wie bei anderen _FF Funktionen.

    Edit:
    bei mir funktioniert äöü jedenfalls nicht und ich müsste die neuste FF haben, trotz:

    Spoiler anzeigen

    Korrekturen
    - _FFSearch: Error with non-ASCII-chars
    - _FFLinkClick: Error with non-ASCII-chars
    - _FFImageClick: Error with non-ASCII-chars


    Der Fehler ist behoben, funktioniert aber nur mit Scripts in ISO-8859-1 bzw. UTF-8Y, UTF-16 ... Kodierung.

  • Probier sonst mal ->

    [autoit]

    _FFCmd("content.wrappedJSObject.WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("Reg1$btnMainSubmit", "", true, "", "", false, false))")

    [/autoit]

    Überall, wo Javascript drin ist, versuche ich, lieber den Befehl direkt anzusprechen^^... Klappt meist :p...


    LG

  • danke das klappt!

    Hab noch eine weiter Frage und zwar bei einer Drop Down Liste.

    Meine hat folgenden xpath

    Code
    /html/body/table[@id='pageTable']/tbody/tr[2]/td[@id='contentLineTd']/form[@id='RegisterUser']/div[@id='regTolForm']/div/table/tbody/tr/td[1]/table[@id='step0']/tbody/tr[8]/td[2]/select[@id='prop_1001018_year']/option[8]


    und wie man im xpath schon sieht will ich das achte element auswählen.

    Nun was brauche ich jetzt noch damit er das 8. Element auch wirklich auswählt?

  • Code
    /html/body/table[@id='pageTable']/tbody/tr[2]/td[@id='contentLineTd']/form[@id='RegisterUser']/div[@id='regTolForm']/div/table/tbody/tr/td[1]/table[@id='step0']/tbody/tr[8]/td[2]/select[@id='prop_1001018_year']/option[8]


    und wie man im xpath schon sieht will ich das achte element auswählen.

    Nun was brauche ich jetzt noch damit er das 8. Element auch wirklich auswählt?

    Ein Blick in die Hilfe ergibt:

    [autoit]

    _FFormOptionSelect(7, "index", "'prop_1001018_year", "id", "regTolForm", "id")

    [/autoit]


    (wenn es nur ein Formular auf der Seite gibt, können die letzten zwei Parameter auch weggelassen werden)
    oder bei entsprechenden DOM-Kenntnissen:

    [autoit]

    _FFXpath("//select[@id='prop_1001018_year']/option[8]", "selected=true", 9)

    [/autoit]