嗨,Applescript 小节在这里。
我实际上并没有尝试运行下面的脚本,但我正在尝试找到一个 AppleScript 语言结构来实现这种效果(它在我熟悉的语言中运行良好,哈哈):
set adoc to choose file
tell application "Finder"
tell application "TextEdit"
open adoc
end tell
tell application process "Textedit" of application "System Events"
if (click menu item "Print…" of menu "File" of menu bar item "File" of menu bar 1 of application process "TextEdit" of application "System Events") then
display dialog "It worked boss!"
end if
end tell
end tell
基本上,我正在编写一个旧应用程序的 GUI 脚本,并且需要在每一步都知道是否发生了事件。我知道我可以通过询问“打印”窗口是否存在来推断事件的成功,但是由于我不会进入的原因,我不想从事件的预期结果中推断事件,我想知道是否它发生了。有没有办法在 AppleScript 中做到这一点?谢谢!
有趣的是,出于我愚蠢深奥的目的,所提供的两个答案的组合让我完成了编写一些非常古老的应用程序的脚本。在某些情况下,可能会出现具有相似按钮的两个可能窗口之一,其中 {x,y} 解决方案(出于我的目的,在某些情况下更有效)不起作用,因为我仍然可以正确单击错误的按钮,其中 try...on 错误策略的应用(我实际上觉得有点愚蠢,没有考虑过),这并没有给我同样的精确度,因为我正在使用的一些 UI 元素很奇怪而且不t 表现如预期(或具有预期的属性),至少克服了这个问题。感谢大家把我从这个噩梦中拯救出来!