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的同等学历。谢谢。
答案 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并输入术语“删除”(红色圆圈),它将为您显示条目用于删除按钮。然后只需将该路径复制到代码中即可。
您可能需要更改焦点(即将entire contents
行放在window "Image Capture"
行之后,以获得更大的范围)。
请注意,当您添加不同的设备并以不同的模式浏览时,GUI可能会更改,并且当GUI更改时,所有索引(分隔符组1,组2,按钮7)也可能会更改。如果您使用多个设备来查看发生了什么,则可能需要使用几种不同的配置进行测试。