Come imparare correttamente lo script di apple [chiuso]

0

Ultimamente sto provando a configurare un AppleScript per svolgere un compito semplice. Ma non riesco davvero a trovare alcune risorse che possano fornirmi un'introduzione o un tutorial sistematico per iniziare con Apple Script. Quindi mi piacerebbe sentire alcuni consigli su come dovrei iniziare. O in altre parole quali sono i materiali o le documentazioni raccomandati che dovrei seguire?

Ho provato a leggere la documentazione ufficiale della Apple, ma sembra troppo pesante per essere una guida rapida.

Qualcosa come questo come abbiamo in python sarebbe il migliore.

E allego solo il problema che sto cercando di risolvere sotto.

una logica semplice:

if safari is not the front most application:
    bring safari to frontmost
    if certain webpage is opened in safari:
        bring that tab of the webpage to the frontmost
    else
        open that webpage
    end if
else
    hide safari
end if

Abbastanza semplice e ingenuo, non lo è.

    
posta huangzonghao 23.02.2018 - 16:30
fonte

1 risposta

1

Ehi dopo un po 'di esplorazione, ho capito il codice.

E mi piacerebbe condividerlo con te nel caso in cui qualcun altro potesse avere lo stesso bisogno.

Questo codice alterna fondamentalmente una pagina Web preimpostata in Safari. La logica dettagliata può essere trovata nello pseudo codice nella descrizione della domanda. E credo che possa essere davvero utile se stai coinvolgendo molto con le applicazioni web-wrapper.

set appName to "Safari"
set pageName to "<+Your Page Name+>"
set pageUrl to "<+Your page URL+>"

tell application "System Events"
    if not (exists process appName) then
        tell application appName to activate
    else if frontmost of process appName then
        # only hide application if the current tab is what we want
        # my search_tabs(pageName, pageUrl)
        set visible of process appName to (my search_tabs(pageName, pageUrl))
    else
        # still unable to give focus to desired window
        set frontmost of process appName to true
        my search_tabs(pageName, pageUrl)
    end if
end tell

on search_tabs(pageName, pageUrl)
    set tab_found to false
    set be_visible to false
    tell application "Safari"
        tell window 1
            if name of current tab starts with pageName then
                # if the current tab is already what we want then
                # return false
                return false
            end if
        end tell
        repeat with w in windows
            if name of w is not "" then --in case of zombie windows
                repeat with t in tabs of w
                    if name of t starts with pageName then
                        set tab_found to true
                        tell w to set current tab to t
                        if index of w is not 1 then
                            tell w to set index to 1
                        end if
                    end if
                end repeat
            end if
        end repeat
        # if the webpage doesn't exist
        if tab_found is false then
            tell window 1
                set current tab to (make new tab with properties {URL:pageUrl})
            end tell
        end if
        return true
    end tell
end search_tabs
    
risposta data 23.02.2018 - 19:31
fonte

Leggi altre domande sui tag