В Applescript я пытаюсь активировать пункт меню в Seamonkey

#user-interface #scripting #applescript

#пользовательский интерфейс #создание сценариев #applescript

Вопрос:

Я новичок в 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
  

Результат:
false

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

Ответ №1:

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

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

Ответ №2:

@mu слишком короткий, правильно ли это. Удалите ‘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