Mac 10.6 で、アクティブなアプリケーションを非アクティブにしたり、Python で最小化したりしたい
Windows で Python を使用して sendKey を使用できることはわかっていますが、Mac ではどうでしょうか。
StackOverflowに関する別の質問から私が見つけたものは次のとおりです。それは私の問題にはかなりうまくいきます。
import os
cmd = """
osascript -e 'tell application "System Events" to keystroke "m" using {command down}'
"""
# minimize active window
os.system(cmd)
PyPI で利用可能な Apple イベント ブリッジであるappscriptを試してください。
from appscript import app, k
app('System Events').keystroke('N', using=k.command_down)
現在アクティブなアプリケーションにキーストロークを送信する沂南に加えて、次のように特定のアプリケーションに送信できます。以前と同じように以下をosascriptに渡すか、ファイルに保存してファイルをosascriptに渡します
tell application "Safari"
activate
tell application "System Events" to keystroke "r" using {command down}
end tell
これにより、 Cmd + rが前面に表示された後、Safariに送信されます。
たとえば、Python から OSA スクリプト (man osascript) を実行して、アプリケーションを駆動することはできますか?
SendKeysfromを使用して Windows で既に動作するスクリプトをpipOS X でも動作させるために、ファイルを作成しました/Library/Python/2.7/site-packages/SendKeys/__init__.py( Mac にインストールするすべてのものを配置するsite-packages場所pipです...それが構成可能かどうかはわかりません)。
ファイルの内容は次のとおりです。
def SendKeys(keys):
if keys == '{ENTER}'
keys = 'return'
from os import system
system('osascript -e \'tell application "System Events" to keystroke ' + keys + "'")
明らかにあまり堅牢ではないので、 には入れませんがpypi、OS X と Windows の両方でスクリプトを実行するには十分です。