1

Я пытаюсь написать небольшой AppleScript, чтобы создать новую вкладку в Chrome, только если она еще не существует. Я попробовал следующее:

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

Но это не работает. Что мне не хватает?

3 ответа3

2

Следующий код:

  • проверяет, работает ли Chrome
  • перебирает активные окна
  • перебирает вкладки, а затем
  • активирует первую вкладку, частью заголовка которой является "Gmail"
  • или откройте новую вкладку

(это может работать для любого заголовка страницы / URL, я использую его для диска / календаря и 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
2
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
0

Это сработало для меня, если я правильно понял вопрос:

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .