J'ai besoin de faire des macros et je veux savoir quelle est la façon la plus recommandée de le faire.
Donc, je dois écrire quelque chose, cliquer sur certains endroits et émuler la touche TAB.
Je fais des tests automatisés en Python. J'ai tendance à utiliser ce qui suit:
http://www.tizmoi.net/watsup/intro.html
Edit: Link is dead, version archivée: https://web.archive.org/web/20100224025508/http://www.tizmoi.net/watsup/intro.html
http://www.mayukhbose.com/python/IEC/index.php
Je ne simule pas (presque jamais) les appuis sur les touches et les mouvements de la souris. J'utilise habituellement COM pour définir les valeurs des objets Windows et appeler leurs méthodes .click ().
Vous pouvez envoyer des signaux de frappe avec ceci:
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
Tout cela est sous Windows. Si vous êtes dans un autre environnement, je n'en ai aucune idée.
Peut-être cherchez-vous Sendkeys ?
SendKeys est un module Python pour Windows pouvant envoyer un ou plusieurs Touches ou combinaisons de touches à la fenêtre active.
il semble que ce soit uniquement des fenêtres
Aussi vous avez pywinauto (copié de mon SO réponse )
pywinauto est un ensemble d'open-source (LGPL) pour l’utilisation de Python en tant que Pilote d’automatisation d’interface graphique pour Windows NT systèmes d’exploitation basés sur NT/W2K/XP.
et exemple de la page web
> 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 est un excellent package pour envoyer des clés et automatiser plusieurs tâches liées au clavier/souris. Check out Contrôle du clavier et de la souris à l’aide de GUI Automation et Documentation de PyAutoGUI .
Vous pouvez utiliser bibliothèque PyAutoGUI pour Python, qui fonctionne sous Windows, macOS et Linux.
Voici un code simple pour déplacer la souris au milieu de l'écran:
import pyautogui
screenWidth, screenHeight = pyautogui.size()
pyautogui.moveTo(screenWidth / 2, screenHeight / 2)
Page Documents: Fonctions de contrôle de la souris .
Question connexe: Contrôle de la souris avec Python .
Exemple:
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
Page Documents: Fonctions de contrôle du clavier .
More reading: Contrôle du clavier et de la souris avec GUI Automation (Chapitre 18 du livre électronique).
Questions connexes: