Probleme mit meinem ersten Script;)

  • Hi leute :D ,

    bin neu hier und hab leider noch keinerlei Ehrfahrung mit Autoit :whistling: Trotzdem hab ich gestern angefangen mit FF.au3 zu arbeiten.
    Ich versuche gerade so eine art Klick-bot zu erstellen, der für mich auf eine bestimmte Seite geht, auf ein Image klickt und falls das Image nicht erscheinen sollte, die Seite so oft neulädt, bis das Bild wieder erscheint. Also bis jetza sieht er so aus ;) :

    [autoit]

    #Include <FF.au3>
    _FFStart("http://www.ebay.de")
    While 1
    _FFImageClick("http://p.ebaystatic.com/aw/pics/de/logos/logoEbay_x45.gif")
    WEnd

    [/autoit]

    Nun zu meinem Problem: Wieso funktioniert die Endlosschleife nicht und wie kann ich eine if schleife einfügen, die das script dazu bringt die Seite neu zu laden, falls das gewünschte image nicht erscheint?

    Hoffe auf euer Verständnis, dass ich ein newbie im programmieren bin, aber jeder fängt ja bekanntlich klein an :D

    Gruß Vinz

  • Bitte erstmal die Forenregelndurchlesen :!:
    Ansonsten herzlich willkommen im Forum :party:

    Spoiler anzeigen

    Grundkenntnisse in: C++, JavaScript
    Sehr gute Kenntnisse: PHP, JAVA, C und näturlich AutoIt


    Klaviatur, Anhang UDF, GDI+ Mühle

    Zitat

    "Wenn einen um 20h der Pizzadienst anruft und fragt, ob man's nur vergessen hat und ob man das gleiche
    möchte wie immer -- dann sollte man sein Bestellverhalten evtl überdenken"

  • Danke für deine schnelle antwort;) habe mir gerade die Forenregeln durchgelesen :D Ist hoffentlich nichts Verbotenes an meinem Script ;(

  • Klick-bot

    Das hat mir Probleme bereitet...
    Definiere bitte mal, was du unter Klick-bot verstehst, und wofür du das brauchst...

    Spoiler anzeigen

    Grundkenntnisse in: C++, JavaScript
    Sehr gute Kenntnisse: PHP, JAVA, C und näturlich AutoIt


    Klaviatur, Anhang UDF, GDI+ Mühle

    Zitat

    "Wenn einen um 20h der Pizzadienst anruft und fragt, ob man's nur vergessen hat und ob man das gleiche
    möchte wie immer -- dann sollte man sein Bestellverhalten evtl überdenken"

  • achso ja mein fehler, tut mir leid :( Wollte ein Script machen, das für meine kleinen Autoit Kentnisse möglichst anspruchsvoll sind (kann man auch noch was davon lernen :) ), und nützlich ist. Für was, habe ich mir noch keine gedanken gemacht ?(

  • Am Besten lernst du, wenn du erstmal Sachen wie z.B einen Calculator oder ähnliches bastelst. ;)
    Ansonsten schau dir das Tutorial im Autoit Wiki an

    21 is only half the truth.

  • Zitat

    _FFImageClick("http://p.ebaystatic.com/aw/pics/de/logos/logoEbay_x45.gif")

    Ne, wenn dann so:

    [autoit]

    _FFImageClick("http://p.ebaystatic.com/aw/pics/de/logos/logoEbay_x45.gif", "name")

    [/autoit]

    Steht aber auch in der Doc: http://german.documentation.ff-au3.thorsten-willert.de/

    Spoiler anzeigen

    Grundkenntnisse in: C++, JavaScript
    Sehr gute Kenntnisse: PHP, JAVA, C und näturlich AutoIt


    Klaviatur, Anhang UDF, GDI+ Mühle

    Zitat

    "Wenn einen um 20h der Pizzadienst anruft und fragt, ob man's nur vergessen hat und ob man das gleiche
    möchte wie immer -- dann sollte man sein Bestellverhalten evtl überdenken"

  • ok vielleicht hast du recht;) eigtl hat mich an Autoit die Firefox automatisierung am meisten Interessiert:)

    Edit: Cartan, bei mir funktioniert das mit dem Imageclick leider irgendwie nur so wie ich das hingeschrieben habe also so:

    [autoit]

    _FFImageClick("http://p.ebaystatic.com/aw/pics/de/logos/logoEbay_x45.gif")

    [/autoit]

    Probleme habe ich nur mit der Endlosschleife, weiß ned ob ich vlt etwas falsch gemacht habe.

  • Ein sleep wäre auf jeden Fall sinnvoll.
    Ansonsten weisst du ja selber das einfach die ganze Zeit auf das bild geklickt wird (halt ne endlosschleife)


    mfg Ubuntu

  • Zitat


    Nun zu meinem Problem: Wieso funktioniert die Endlosschleife nicht und wie kann ich eine if schleife einfügen, die das script dazu bringt die Seite neu zu laden, falls das gewünschte image nicht erscheint?

    Nun sehen wir uns mal die Return Value's an, die in der Thorsten Willer FF.au3 Deutschen Dokumentation stehen:

    Wenn "Failure" eintritt, wird 0 ausgegeben und @error wird gesetzt, also:

    [autoit]

    Do ;Do-Schleife
    $klick = _FFImageClick("http://p.ebaystatic.com/aw/pics/de/logos/logoEbay_x45.gif") ;Mache _FFImageClick
    If $klick = 0 Then ;Wenn _FFImageClick = 0 ist also nicht geklappt hat
    _FFAction("Reload") ;Wenn der _FFImageClick nicht funktioniert hat dann aktualisiere die aktuelle Seite
    ContinueLoop ;Und mache weiter mit der Schleife (Do)
    EndIf ;Die If abschließen
    Sleep(8000) ;Warte 8 Sekunden
    Until $klick = 1 ;Mach das alles bis $klick (_FFImageClick) = 1 ist, also geklappt hat

    [/autoit]

    Hoffe es ist jetzt alles klar :)

  • cool;) werd mir mal das genauer anschauen, hört sich aber schon super an:) danke an alle *hehe* ich werds dann mal morgen testen (hab heut leider keine zeit mehr)

  • soo habs heute ausprobiert;) also was mir bis jetzt aufgefallen ist: Die Endlosschleife funzt noch immer nicht:( habt ihr eine Idee wieso?

  • So

    [autoit]

    Do ;Do-Schleife
    $klick = _FFImageClick("http://p.ebaystatic.com/aw/pics/de/logos/logoEbay_x45.gif") ;Mache _FFImageClick
    If $klick = 0 Then ;Wenn _FFImageClick = 0 ist also nicht geklappt hat
    _FFAction("Reload") ;Wenn der _FFImageClick nicht funktioniert hat dann aktualisiere die aktuelle Seite
    ContinueLoop ;Und mache weiter mit der Schleife (Do)
    EndIf ;Die If abschließen
    Sleep(8000) ;Warte 8 Sekunden
    Until $klick = 1 ;Mach das alles bis $klick (_FFImageClick) = 1 ist, also geklappt hat

    [/autoit]

    Macht er es auch nur einmal...
    So immer ;)

    [autoit]

    While 1 ;While-Schleife, Endlos
    $klick = _FFImageClick("http://p.ebaystatic.com/aw/pics/de/logos/logoEbay_x45.gif") ;Mache _FFImageClick
    If $klick = 0 Then ;Wenn _FFImageClick = 0 ist also nicht geklappt hat
    _FFAction("Reload") ;Wenn der _FFImageClick nicht funktioniert hat dann aktualisiere die aktuelle Seite
    ContinueLoop ;Und mache weiter mit der Schleife (Do)
    EndIf ;Die If abschließen
    Sleep(8000) ;Warte 8 Sekunden
    WEnd

    [/autoit]
    Spoiler anzeigen

    Grundkenntnisse in: C++, JavaScript
    Sehr gute Kenntnisse: PHP, JAVA, C und näturlich AutoIt


    Klaviatur, Anhang UDF, GDI+ Mühle

    Zitat

    "Wenn einen um 20h der Pizzadienst anruft und fragt, ob man's nur vergessen hat und ob man das gleiche
    möchte wie immer -- dann sollte man sein Bestellverhalten evtl überdenken"

  • Hi Cartan;) habs wieder grade ausprobiert...noch immer das selbe wie ohne while-schleife :( bin echt ratlos. Hab mir heute die tutorials durchgelesen und noch immer nix gefunden.