#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