• Es ist bereits Apfeltalk-Tradition und wir möchten sie auch in diesem Jahr fortsetzen: Unser Apfeltalk-Weihnachtslogo-Wettbewerb hat begonnen! Gestaltet für uns das Weihnachtsbanner, das im Monat Dezember bis zum Weihnachtsfest unsere Webseite schmücken soll. Lasst Eurer Kreativität freien Lauf! Hier geht es zum Wettbewerb --> Klick

Script zum Ausfüllen von Formularen in Safari

wiseguy

Ribston Pepping
Registriert
01.01.10
Beiträge
297
Hallo,

ich möchte ein Apple Script haben, das mir meine Adressbuch.xml Datei in die FritzBox einließt.
Dazu bin ich bishe noch nicht so sehr weite gekommen - insbesondere deshalb nicht, weil ich nahezu keine Kenntnisse über AppleScript habe.

Vielleicht kann ja aber jemand von euch mir helfen.

Ich hab mit dem Automator ein Programm erzeugt, was zuerst einen shell Befehl ausführt (zum Erstellen der XML Datei) und als nächstes ein AppleScript ausführt.

Das AppleScript sitzt momentan so aus:
Code:
set PW to "MEINPASSWORD" as string

tell application "Safari"
	activate
	set URL of document 1 to "http://fritz.box/cgi-bin/webcm?getpage=..%2Fhtml%2Fde%2Fmenus%2Fmenu2.html&var%3Apagename=fonbuch&var%3Amenu=fon&var%3Apagemaster=&telcfg%3Asettings%2FDiversity0%2FActive=0&var%3Arul=&var%3Amode="

	delay 5
	
	do JavaScript "document.forms['uiViewForm'].elements['uiViewPassword'].value = " & PW in document 1
	do JavaScript "document.forms['uiViewForm'].submit()" in document 1
end tell
Bis hierhin erstmal. Was ich also wollte, ist die Passwortabfrage durchzuführen;
Das Formular heißt "uiViewForm", und das Passwortfeld "uiViewPassword"

Anschließend muss ich im Formular "uiPostImportForm" eine Datei über den Button "PhonebookImportFile" einlesen (Also das ist ein input Feld vom Type "file" - vielleicht kann man die gewünschte Datei ja direkt per Javascript reinladen)

Und Anschließend mit submit die Datei hochladen.

Schlußendlich möchte ich gern das zuvor geöffnete Safari Fenster wieder schließen.

Kann mir jemand hierfür Hilfestellung geben?
 
Für die Übertragung des Telefonbuchs würdest du analog vorgehen - d.h. via AppleScript+JavaScript automatisierst du die Dateiauswahl und das Hochladen. Vor dem Schließen des Fensters/Tabs würde ich noch ein ordnungsgemäßes Ausloggen empfehlen.
 
Ich vergas zu erwähnen, dass mein Script zu dem Fehler
Code:
[B]Bei der Aktion "AppleScript ausführen" ist ein Fehler aufgetreten.[/B]

Überprüfen Sie die Aktionseigenschaften und versuchen Sie, den Arbeitsablauf erneut auszuführen.
Offensichtlich stimmt etwas nicht. Ich bin mir aber nicht mal sicher, obs am AppleScript oder am JavaScript (oder an beidem) liegt...
 
Speichere die Login-Webseite mal als (darstellbare) Datei und mache sie downloadbar - dann könnte man prüfen, wie das Konstrukt AppleScript+Javascript aussehen müßte ...
 
Die HTML-Datei "FRITZ_Box.html" führt nicht zu einer darstellbaren Seite, da weitere Inhalte (in Frames) nachgeladen werden. Benötigt würde die HTML-Seite, die auch die Login-Elemente (User, Passwort, Submit-Button) beinhaltet und anzeigt.
 
Für den Login auf der FritzBox sind die die folgenden Parameter notwendig:

Code:
login:command/password=PASSWORD&getpage=../html/de/menus/menu2.html

… wie gehabt, an die URL „http://fritz.box/cgi-bin/webcm“. Ich habe in meinen Scripts immer POST verwendet, ob auch ein GET akzeptiert wird, kann ich nicht sagen.