В Applescript я пытаюсь активировать пункт меню в Seamonkey - PullRequest
0 голосов
/ 14 апреля 2011

Я новичок в Applescript. Я провел поиск и чтение и нашел что-то, что должно работать для активации пункта меню:

on do_menu(app_name, menu_name, menu_item)
    try
        -- bring the target application to the front
        tell application app_name
            activate
        end tell
        tell application "System Events"
            tell process app_name
                tell menu bar 1
                    tell menu bar item menu_name
                        tell menu menu_name
                            click menu item menu_item
                        end tell
                    end tell
                end tell
            end tell
        end tell
        return true
    on error error_message
        return false
    end try
end do_menu

-- In my case I want to start Seamonkey and open the Composer window (and select it) so I
-- do:
do_menu("SeaMonkey", "Windows", "Composer")

Когда я запускаю это окно журнала событий показывает:

tell application "SeaMonkey"
    activate
end tell
tell application "System Events"
    click menu item "Composer" of menu "Windows" of menu bar item "Windows" of menu bar 1 of process "SeaMonkey"
        --> error number -1728 from «class mbri» "Windows" of «class mbar» 1 of «class prcs» "SeaMonkey"
end tell

Результат: ложь

Я не вижу, что я делаю неправильно.

Ответы [ 2 ]

1 голос
/ 14 апреля 2011

Номер ошибки -1728, по-видимому, является общей ошибкой «not found» в AppleScript.Я не вижу меню Windows в SeaMonkey, но я вижу меню Window .Попробуйте удалить "s" из Windows .

Кроме того, я думаю, что вам может понадобиться включить "доступ для вспомогательных устройств", чтобы "щелчок" работал, вы получите ошибкусообщение на этот счет, если вам нужно.

0 голосов
/ 14 апреля 2011

@ мю слишком коротко, это правильно.Удалите «s» из «Windows», и это будет работать.Вот сокращенная версия, хотя, если вы не хотите иметь дело с использованием обработчиков.

activate application "SeaMonkey"
tell application "System Events"
    tell process "SeaMonkey"
        click menu item "Composer" of menu 1 of menu bar item "Window" of menu bar 1
    end tell
end tell
...