いくつかのマクロを実行する必要があり、それを実行するための最も推奨される方法を知りたいです。
それで、何かを書いてそれでいくつかの場所をクリックする必要があり、TABキーをエミュレートする必要があります。
私はPythonで自動テストを行います。私は以下を使用する傾向があります:
http://www.tizmoi.net/watsup/intro.html
編集:リンクは無効です、アーカイブバージョン: https://web.archive.org/web/20100224025508/ http://www.tizmoi.net/watsup/intro.html
http://www.mayukhbose.com/python/IEC/index.php
私は常に(ほとんど絶対に)キーを押したりマウスの動きをシミュレートするわけではありません。私は通常COMを使用してWindowsオブジェクトの値を設定し、それらの.click()メソッドを呼び出します。
これでキープレス信号を送ることができます:
import win32com.client
Shell = win32com.client.Dispatch("WScript.Shell")
Shell.SendKeys("^a") # CTRL+A may "select all" depending on which window's focused
Shell.SendKeys("{DELETE}") # Delete selected text? Depends on context. :P
Shell.SendKeys("{TAB}") #Press tab... to change focus or whatever
これはすべてWindowsにあります。別の環境にいる場合、私には手がかりがありません。
多分あなたは探している Sendkeys ?
SendKeysは、1つ以上のキーストロークまたはキーストロークの組み合わせをアクティブウィンドウに送信できるWindows用のPythonモジュールです。
それは窓だけのようです
また、あなたは pywinauto (my SO answer からコピー)
pywinautoは、Windows NTベースのオペレーティングシステム(NT/W2K/XP)のGUIオートメーション「ドライバー」としてPython=)を使用するためのオープンソース(LGPL)モジュールのセットです。
そしてウェブページからの例
> from pywinauto import application
> app = application.Application.start("notepad.exe")
> app.notepad.TypeKeys("%FX")
> app.Notepad.MenuSelect("File->SaveAs")
> app.SaveAs.ComboBox5.Select("UTF-8")
> app.SaveAs.edit1.SetText("Example-utf8.txt")
> app.SaveAs.Save.Click()
pyautoguiは、キーを送信し、キーボード/マウス関連のいくつかのタスクを自動化するための優れたパッケージです。 GUIオートメーションによるキーボードとマウスの制御 および PyAutoGUIのドキュメント を確認してください。
PyAutoGUIライブラリ をPythonに使用できます。これはWindows、macOS、Linuxで動作します。
次に、マウスを画面の中央に移動する簡単なコードを示します。
import pyautogui
screenWidth, screenHeight = pyautogui.size()
pyautogui.moveTo(screenWidth / 2, screenHeight / 2)
ドキュメントページ: マウスコントロール関数 。
関連質問: Pythonでマウスを制御する 。
例:
pyautogui.typewrite('Hello world!') # prints out "Hello world!" instantly
pyautogui.typewrite('Hello world!', interval=0.25) # prints out "Hello world!" with a quarter second delay after each character
ドキュメントページ: Keyboard Control Functions 。
続きを読む: GUIオートメーションでキーボードとマウスを制御する (電子書籍の第18章)。
関連する質問: