• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Viele hassen ihn, manche schwören auf ihn, wir aber möchten unbedingt sehen, welche Bilder Ihr vor Eurem geistigen Auge bzw. vor der Linse Eures iPhone oder iPad sehen könnt, wenn Ihr dieses Wort hört oder lest. Macht mit und beteiligt Euch an unserem Frühjahrsputz ---> Klick

NSReceiverEvaluationScriptError: 4 & Safari

AndiProe

Gloster
Registriert
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
 

AndiProe

Gloster
Registriert
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.
 

the x-master

Riesenboiken
Registriert
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.
 

AndiProe

Gloster
Registriert
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
 

the x-master

Riesenboiken
Registriert
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.
 

AndiProe

Gloster
Registriert
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).
 
Zuletzt bearbeitet:

the x-master

Riesenboiken
Registriert
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.
 

AndiProe

Gloster
Registriert
23.01.06
Beiträge
64
Okay, dann schreibe hier bitte nochmal das Script mit dem Originalcode.
Dann kann ich es selber testen bzw. beheben. :)



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!!
 

AndiProe

Gloster
Registriert
23.01.06
Beiträge
64
Ah, okay. Dann ist ja gut. :D


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?!
 

the x-master

Riesenboiken
Registriert
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.
 

space

Neuer Berner Rosenapfel
Registriert
02.12.05
Beiträge
1.949
@ 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
 

AndiProe

Gloster
Registriert
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:

Was hat das Starten eines Scriptes mit iCal zu tun ?
iCal ist ein Kalender-/Terminprogramm. Was hat das mit scripten zu tun ?

mit iCal lass ich das skript zu einem bestimmten zeitpunkt starten!
 

the x-master

Riesenboiken
Registriert
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.
 

space

Neuer Berner Rosenapfel
Registriert
02.12.05
Beiträge
1.949
Unter dem Punkt "Erinnerung" kann man ein AppleScript ausführen lassen …

Gruss