1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen
  2. Unsere jährliche Weihnachts-Banner-Aktion hat begonnen! Wir freuen uns auf viele, viele kreative Vorschläge.
    Mehr dazu könnt Ihr hier nachlesen: Weihnachtsbanner 2016

    Information ausblenden

NSReceiverEvaluationScriptError: 4 & Safari

Dieses Thema im Forum "AppleScript" wurde erstellt von AndiProe, 22.06.07.

  1. AndiProe

    AndiProe Gloster

    Dabei seit:
    23.01.06
    Beiträge:
    64
    Hi leute,

    bräucht mal bisschen unterstützung bei einem skript von mir.

    das skript soll die 1. seite laden dann nach einem string suchen und je nachdem ob er enthalten ist aktionen setzen. wenn nicht dann eine 2. seite laden und wieder kontrollieren => wenn nicht enthalten dann 1. seite laden und so weiter. in einem abstand von.. sagen wir 10 min.

    es funktioniert ja auch.. bis auf den "random?" fehler:
    "NSReceiverEvaluationScriptError: 4" der von safari kommt oder geht.. :) kann leider überhaupt nicht sagen woran das liegt

    hab auch schon gelesen, dass das vielleicht was mit dem fenster zu tun hat.. aber es ist ja offen. auf active mag ichs nicht unbedingt setzen da ich ja sonst nicht weiter arbeiten kann. habt ihr ideen?

    bin für jeden hinweis dankbar.

    Code:
    tell application "Safari"
        
        repeat
            set control_browse to window 1
        
            tell document of control_browse
                set URL to "http:irgendwas.helftmirbitte_oder_ichfall:um-at"
            end tell
            delay 4
        
            set infotext to get text of document "Meine Seite"
        
            if (offset of "textderaufderseitesteht" in infotext) > 0 then
                --mach das was ich will
            end if
    
            --hier kommt das gleiche nochmal nur mit der 2. seite: also
            --ab set control_browse bis end if
        end repeat
    end tell
    
     
  2. AndiProe

    AndiProe Gloster

    Dabei seit:
    23.01.06
    Beiträge:
    64
    hallo zusammen,

    hab da jetzt noch ein bisschen rumgespielt und hab das verhalten vor allem dann feststellen können, wenn die seite vielleicht nicht ganz fertig geladen wurde, noch im aufbau ist oder ähnliches.

    hab jetzt mal den delay von 4 auf 10 erhöht und auch noch einen try-block drum herum gemacht.
    dürft eine notlösung sein da ich echt nicht weiß woran es liegt aber besser notlösung als error.
     
  3. the x-master

    the x-master Riesenboiken

    Dabei seit:
    29.01.06
    Beiträge:
    290
    Hallo AndiProe,

    getestet habe ich das ganze nicht, aber ich weiß genau, was der Error bedeutet.
    NSReceiverEvaluationScriptError:(4) bedeutet, dass du auf ein Objekt (button, view, etc) zugreifen willst, was nicht existiert.
    Zum Beispiel wenn du auf das Window mit dem Namen 'test' zugreifen willst, aber es existiert in Safari nicht, kommt der Fehler…

    Grüße,
    X.
     
  4. AndiProe

    AndiProe Gloster

    Dabei seit:
    23.01.06
    Beiträge:
    64
    hi X.

    danke für deine antwort. hab soetwas eh schon gelesen aber war mir noch nicht sicher ob es nicht vielleicht etwas anderes ist.
    fazit: wenn die seite nicht fertig geladen ist oder ein pop-up drüber ist dann funktioniert das mit dem text nicht :(

    hab auch gleich eine neue frage, kann das nirgens finden:
    gibt es eine möglichkeit safari zu fragen ob er fertig ist mit dem laden einer seite? so etwas wie idle oder ähnliches?
    danke jedenfalls!!
    lg
     
  5. the x-master

    the x-master Riesenboiken

    Dabei seit:
    29.01.06
    Beiträge:
    290
    Hallo nochmal,

    also ich würde gerne wissen, wozu du solch ein Script benötigst …
    Ich sehe noch nicht den Sinn dahinter. Bitte erkläre doch ein wenig mehr.

    Grüße,
    X.
     
  6. AndiProe

    AndiProe Gloster

    Dabei seit:
    23.01.06
    Beiträge:
    64
    hi,

    ich möcht mit dem skript unter anderem in einem moodle kurs kontrollieren ob etwas verändert wurde. wenn ja dann soll ich benachrichtigt werden. da ich nicht nur einem kurs beigetreten bin sondern mehreren brauch ich das wechseln auf eine andere seite bzw. das neuladne/aktualisieren.

    2. beispiel:
    in moodle können mithilfe eines selbstgeschriebenen php-programms und natürlich anbindung an die moodle datenbank lernstile der schüler/studenten errechnet werden. da php ja eine serversprache ist und ich nicht ständig zu diesem connecten kann soll mir das skript diese informationen auch ohne moodle-serverzugriff kontrollieren (anhand der ausgabe des php-programms).
     
    #6 AndiProe, 23.06.07
    Zuletzt bearbeitet: 23.06.07
  7. the x-master

    the x-master Riesenboiken

    Dabei seit:
    29.01.06
    Beiträge:
    290
    Okay, dann schreibe hier bitte nochmal das Script mit dem Originalcode.
    Dann kann ich es selber testen bzw. beheben. :)

    Grüße,
    X.
     
  8. AndiProe

    AndiProe Gloster

    Dabei seit:
    23.01.06
    Beiträge:
    64


    hi x,

    danke aber ich möcht dir nicht unnötig arbeit aufbrummen. es funktioniert soweit mit dem try drum rum und einem delay von 10 kommt der fehler auch ned mehr.. zumindest bis jetzt.
    wenn er wieder kommt dann meld ich mich

    danke trotzdem für deine hilfe!!
     
  9. the x-master

    the x-master Riesenboiken

    Dabei seit:
    29.01.06
    Beiträge:
    290
    Ah, okay. Dann ist ja gut. :D
     
  10. AndiProe

    AndiProe Gloster

    Dabei seit:
    23.01.06
    Beiträge:
    64

    HILFE ^^

    ich hab jetzt mein skript mittels ical gestartet.. und kanns nicht mehr beenden *gg*
    i cal "hängt" und das skript läuft im hintergrund. hab meinen mac auch schon mal ausgeschalten, brachte aber auch keinen abbruch im skript..

    wenn ich jetzt ical öffne dann startet mein skript wieder.. wie kann ich das abdrehen? wenn ich das skript öffne dann kann ich es nur nochmal starten ^^

    ich schätz mal es liegt an der "endlosschleife" im skript?!
     
  11. the x-master

    the x-master Riesenboiken

    Dabei seit:
    29.01.06
    Beiträge:
    290
    Was hat das Starten eines Scriptes mit iCal zu tun ?
    iCal ist ein Kalender-/Terminprogramm. Was hat das mit scripten zu tun ?
    Bitte erklär' mal genau, worum es sich handelt. :D

    Grüße,
    X.
     
  12. space

    space Neuer Berner Rosenapfel

    Dabei seit:
    02.12.05
    Beiträge:
    1.950
    @ x-master: Ist das ironisch oder ernst gemeint?

    @ AndyPoe: Irgendwo musst Du ja das Script gespeichert haben, welches Du mit iCal ausführen lässt. Verschiebe oder lösche es, und es kann nicht mehr gestartet werden.
    Dann kommt ein "Fehler bei der Erinnerung" PopUp und gut ist.

    Gruss
     
  13. AndiProe

    AndiProe Gloster

    Dabei seit:
    23.01.06
    Beiträge:
    64
    yeah,

    danke für deine hilfe! war schon nahe am verzweifeln.. wieder mal war die lösung einfacher als ich dachte.

    @x:

    mit iCal lass ich das skript zu einem bestimmten zeitpunkt starten!
     
  14. the x-master

    the x-master Riesenboiken

    Dabei seit:
    29.01.06
    Beiträge:
    290
    Habe ich hier etwas völlig verpasst ? ;)
    Ich persönlich benutze iCal nicht als Terminplaner, habe daher auch nicht viel Ahnung.
    Ich ging aber davon aus, dass es ein Terminplaner ist. Ich weiß ganz ehrlich gesagt nicht, was iCal mit Scripts zu tun hat. Ja, es lässt sich vielleicht scripten, aber dass iCal ein Script starten kann, das weiß ich noch nicht. ;)

    Erklärt mir das mal. :D

    Grüße,
    X.
     
  15. space

    space Neuer Berner Rosenapfel

    Dabei seit:
    02.12.05
    Beiträge:
    1.950
    Unter dem Punkt "Erinnerung" kann man ein AppleScript ausführen lassen …

    Gruss
     
  16. the x-master

    the x-master Riesenboiken

    Dabei seit:
    29.01.06
    Beiträge:
    290
    Ah, dankeschön. :)
     

Diese Seite empfehlen