Applescript Mojave单击图像捕获按钮

时间:2019-07-06 12:09:10

标签: button applescript

Applescript如何在Mojave Image Capture中单击按钮“删除”?

在ML中,这可行-

activate application "Image Capture"
tell application "System Events"
    click button 3 of group 1 of splitter group 1 of window "Image Capture" of application process "Image Capture" of application "System Events"
end tell

-而且我还没有Mojave的同等学历。谢谢。

1 个答案:

答案 0 :(得分:0)

他们移动了一些东西。试试这个:

tell application "System Events"
    tell process "Image Capture"
        set frontmost to true
        click window "Image Capture"'s splitter group 1's group 2's button "Delete"
        key code 48 -- tab to move focus to 'delete'
        -- key code 36 -- return key
    end tell
end tell

我添加了清除“您确定吗?”的代码。对话框并自动删除图像,但是我注释掉了'key code 36'行,该行模拟了一个返回键,因为我不想让您意外删除一些重要的内容。

调试GUI脚本

如果以上代码引发错误,并且您没有UIElementExplorer或UIBrowser(通过GUI向下钻取的应用程序),则可以在脚本编辑器中运行以下代码来调试它:

tell application "System Events"
    tell process "Image Capture"
        tell window "Image Capture"
            tell splitter group 1
                entire contents
            end tell
        end tell
    end tell
end tell

这很慢,并且会在脚本日志中生成大量文本,这些文本从splitter group 1开始向下显示GUI的每个元素。就像在下图中一样,在日志中搜索“删除”:单击日志按钮(绿色圆圈),键入command-F并输入术语“删除”(红色圆圈),它将为您显示条目用于删除按钮。然后只需将该路径复制到代码中即可。 enter image description here 您可能需要更改焦点(即将entire contents行放在window "Image Capture"行之后,以获得更大的范围)。

请注意,当您添加不同的设备并以不同的模式浏览时,GUI可能会更改,并且当GUI更改时,所有索引(分隔符组1,组2,按钮7)也可能会更改。如果您使用多个设备来查看发生了什么,则可能需要使用几种不同的配置进行测试。