我有一个自动播放器脚本应该使浏览器全屏显示并使用命令+ 0将其缩放回默认大小。全屏工作,但忽略了0的击键。
tell application "System Events"
keystroke "f" using {command down, control down}
keystroke "0" using {command down}
end tell
我试过了:
keystroke "0" using {command down}
keystroke 0 using {command down}
keystroke {29} using {command down}
全部被忽略。
答案 0 :(得分:0)
我将重申pbell所说的内容并为Finder提供工作代码,因为我不确定您的特定应用是如何工作的:
tell application "System Events"
tell application "Finder" to activate
keystroke "f" using {command down, control down}
delay 1
keystroke "f" using {command down, control down}
end tell
重要的是我们首先激活了Finder,因此键击被发送到正确的应用程序。
同样重要的是,根据用例,在"系统偏好设置"中启用应用程序的辅助功能权限。 - > "安全&隐私" - > "隐私" - > "辅助"
答案 1 :(得分:0)
听起来像是时间问题。 (埃里克发布了和我写这篇文章一样的想法!):)
您可以添加延迟:
tell application "Safari" to activate
tell application "System Events"
tell process "Safari"
keystroke "f" using {command down, control down}
delay 1
keystroke "0" using {command down}
end tell
end tell
但在我的测试中,您也可以改变操作顺序。它会起作用,不需要延迟。
tell application "Safari" to activate
tell application "System Events"
tell process "Safari"
keystroke "0" using {command down}
keystroke "f" using {command down, control down}
end tell
end tell