在Applescript中,我正在尝试激活Seamonkey中的菜单项

时间:2011-04-14 01:29:42

标签: user-interface scripting 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

结果: 假

我看不出我做错了什么。

2 个答案:

答案 0 :(得分:1)

错误编号-1728似乎是AppleScript中的一般“未找到”错误。我在SeaMonkey中没有看到 Windows 菜单,但我确实看到了 Window 菜单。尝试从 Windows 中删除“s”。

此外,我认为您可能需要启用“辅助设备访问”才能使“点击”生效,如果需要,您将收到相应的错误消息。

答案 1 :(得分:0)

@mu太短了它是否正确。从'Windows'中删除“s”,它将起作用。如果您不想处理使用处理程序,这是精简版本。

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