0

我想编写一个脚本,以几种格式保存图像。问题是格式是根据某些条件显示的。我的意思是有时会有 5 种格式,有时会有 8 种格式。我想完全自动化这些保存内容的工作。所以我决定写一个applescript。获得 UI 浏览器并使用它我可以访问每个弹出菜单。我正在使用循环来执行保存操作。问题是我没有得到结束的地方。所以我想出了一个想法,如果我可以在弹出菜单中获得项目的数量,那么我将很容易执行任务。

谁能帮我吗?

4

1 回答 1

1

嗯,这是可能的,但你不能直接计算菜单项。通信是在 GUI 端进行的,而不是直接与应用程序进行通信,这意味着需要先出现菜单,然后才能对其进行计数。

tell application "System Events"
    tell process "Your application"
        --we need to menu to appear first
        click pop up button 1 of window 1
        --now the menu appeared we can count the items in it
        count menu items of menu 1 of pop up button 1 of window 1
        --now hide the menu again by pressing escape
        key code 53
    end tell
end tell

计数是检查菜单的一种方法,但另一种方法是获取其中的所有值,然后按其名称单击右侧的菜单项。这可能不是您的情况,通常是最好的解决方案。

set menuItemToSelect to "Title of menu item I prefer to check"

tell application "System Events"
    tell process "Your Application"
        tell pop up button 1 of window 1
            --Only continue if the menu item isn't already selected
            if value of it is not equal to menuItemToSelect then
                --we need to menu to appear first
                click it
                --now the menu appeared we can get the items
                set menuItemTitles to name of menu items of menu 1
                --check if the menu item exists
                if menuItemToSelect is in menuItemTitles then
                    --menu item exists; click on it
                    click menu item menuItemToSelect of menu 1
                else
                    --the menu item to select doesn't exist; hide the menu
                    key code 53
                end if
            end if
        end tell
    end tell
end tell
于 2012-11-16T12:49:42.163 回答