Automator击键无法使用零位数

时间:2017-03-15 16:21:56

标签: applescript automator

我有一个自动播放器脚本应该使浏览器全屏显示并使用命令+ 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}

全部被忽略。

2 个答案:

答案 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