Sto cercando di scrivere del codice di automazione (soprattutto in Ruby selenio). Ad un certo punto, un selettore di file viene aperto in Safari in modo che l'utente può selezionare un file da caricare. Il selenio non può gestirlo, ma penso che AppleScript dovrebbe essere in grado di farlo. Sono nuovo di AppleScript e non sono stato in grado di trovare qualsiasi codice standard di qualcuno automatizzare una finestra di dialogo di selezione file. Sto leggendo i documenti AppleScript, ma qualsiasi idea sarebbe più utile.Utilizzando AppleScript per scegliere un file in Safari
5
A
risposta
4
Alcuni ulteriori ricerche e ho trovato una grande risposta qui: Applescript file dialog with UI scripting
Ecco quello che ho finito per usare:
on run argv
tell application "Safari"
activate
-- Usage check
set argc to count argv
if argc is not greater than 0 then
return "Usage: SafariFileChooser file_name [window_name]"
end if
-- The file we will choose to open
set file_name to item 1 of argv
-- Flip to the named window, if specified
if argc is equal to 2 then
set window_name to item 2 of argv
set flip_count to index of window window_name
repeat (flip_count - 1) times
activate
tell application "System Events" to keystroke "`" using command down
end repeat
end if
-- Interact with the dialog using System Events (thanks mcgrailm)
tell front window
activate
tell application "System Events"
keystroke "g" using {shift down, command down}
keystroke file_name
delay 1
keystroke return
delay 1
keystroke return
end tell
end tell
end tell
return 0
fine corsa
0
Un'altra opzione Ho appena scoperto è quello di specificare la directory utilizzando la riga di comando:
do shell script "defaults write com.apple.Safari NSNavLastRootDirectory /path/to/directory"
In questo modo si c un po 'meno nello scripting dell'interfaccia utente. Esegui questo comando prima di aprire il selettore di file e ti metterà nella directory specificata. Includi tutti i file necessari in questa directory, e si può solo comando di script + A per selezionare tutti, e ritorno.
Stai cercando di dire a livello di codice di Safari per caricare un file specifico una volta che il selettore di file è aperto, o di lasciare che Safari aprire un selettore, in primo luogo? – Asmus
Il primo. Selenio clic su un collegamento che apre un selettore di file Safari, ho poi chiamo il mio AppleScript con la posizione del file, e siamo a posto. Almeno lo spero - sto per provarlo. ;) –