it-swarm.com.de

Welches ist der einfachste Weg, um Tastatur und Maus in Python zu simulieren?

Ich muss ein paar Makros machen und ich möchte wissen, was der empfohlene Weg ist.

Also muss ich etwas schreiben und einige Stellen damit anklicken, und ich muss den TAB-Schlüssel dazu emulieren.

23
Shady

Ich mache automatisierte Tests in Python. Ich neige dazu, folgendes zu verwenden:

http://www.tizmoi.net/watsup/intro.html
Edit: Link ist tot, Archivversion: https://web.archive.org/web/20100224025508/http://www.tizmoi.net/watsup/intro.html

http://www.mayukhbose.com/python/IEC/index.php

Ich simuliere (fast nie) Tastendruck und Mausbewegung. Normalerweise verwende ich COM, um Werte von Windows-Objekten festzulegen und ihre .click () -Methoden aufzurufen. 

Sie können hiermit Tastendrucksignale senden:

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

Das ist alles in Windows. Wenn Sie sich in einer anderen Umgebung befinden, habe ich keine Ahnung. 

26
Ishpeck

Vielleicht suchen Sie nach Sendkeys ?

SendKeys ist ein Python-Modul für Windows, das eine oder mehrere .__ senden kann. Tastenkombinationen oder Tastenkombinationen zum aktiven Fenster.

es scheint, dass es nur Fenster sind

Auch Sie haben pywinauto (kopiert von meiner SO Antwort )

pywinauto ist ein Satz von Open-Source-Dateien (LGPL) -Module zur Verwendung von Python als GUI-Automatisierungstreiber für Windows NT Betriebssysteme (NT/W2K/XP).

und Beispiel von der Webseite

> 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()
15
joaquin

pyautogui ist ein großartiges Paket zum Senden von Tasten und zum Automatisieren verschiedener Tastatur-/Mausaufgaben. Check out Tastatur und Maus mit GUI-Automatisierung steuern und PyAutoGUI-Dokumentation .

7

Sie können die PyAutoGUI-Bibliothek für Python verwenden, die unter Windows, Mac OS und Linux funktioniert.

Maus

Hier ist ein einfacher Code, um die Maus in die Mitte des Bildschirms zu bewegen:

import pyautogui
screenWidth, screenHeight = pyautogui.size()
pyautogui.moveTo(screenWidth / 2, screenHeight / 2)

Dokumentseite: Maussteuerungsfunktionen .

Verwandte Frage: Steuern der Maus mit Python .

Tastatur

Beispiel:

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

Dokumentseite: Tastatursteuerungsfunktionen .


Weitere Informationen: Tastatur und Maus mit GUI-Automatisierung steuern (Kapitel 18 des E-Books).

Verwandte Fragen:

0
kenorb