Como abrir uma nova aba no Chrome usando o AppleScript, somente se ela ainda não existir?

1

Estou tentando escrever um pequeno AppleScript para criar uma nova guia no Google Chrome apenas se ele ainda não existir. Eu tentei o seguinte:

if title of tab is not "Gmail" then
    open location "https://mail.google.com/mail/u/0/?hl=en#all"
end if

Mas não está funcionando. O que estou perdendo?

    
por user185361 16.04.2013 / 16:32

3 respostas

1

tell application "Google Chrome"
    repeat with w in windows
        set i to 1
        repeat with t in tabs of w
            if URL of t starts with "https://mail.google" then
                set active tab index of w to i
                set index of w to 1
                return
            end if
            set i to i + 1
        end repeat
    end repeat
    open location "https://mail.google.com/mail/u/0/#inbox"
end tell
    
por 26.07.2013 / 15:22
1

O seguinte código:

  • verifica se o Chrome está sendo executado
  • itera pelas janelas ativas
  • itera as guias e então
  • ativa a primeira guia da qual uma parte do título é "Gmail"
  • ou abra uma nova guia

(isso pode funcionar para qualquer título / URL da página, eu o uso para drive / agenda & gmail)

on is_running(appName)
    tell application "System Events" to (name of processes) contains appName
end is_running
set chromeRunning to is_running("Google Chrome")

if chromeRunning then
    tell application "Google Chrome"
        set i to 0
        set j to 0
        repeat with w in (windows)
            set j to j + 1
            repeat with t in (tabs of w)
                set i to i + 1
                if title of t contains "Gmail" then
                    set (active tab index of window j) to i
                    return
                end if
            end repeat
        end repeat
        tell application "Google Chrome"
            activate
            open location "http://mail.google.com/"
        end tell
    end tell
else
    tell application "Google Chrome"
        activate
        open location "http://mail.google.com/"
    end tell
end if
    
por 23.12.2013 / 10:15
0

Isso funcionou para mim, se eu entendi a pergunta corretamente:

tell application "System Events"
    set tabs to (radio buttons whose name contains "Gmail") of (tab group 1 of window 1 of application process "Chrome")
    if (count of tabs) is 0 then
        open location "https://mail.google.com/mail/u/0/?hl=en#all"
    else
        click item 1 of tabs
    end if
end tell
    
por 26.07.2013 / 07:20