pynput press is_pressed python windows keyboard mouse

press - ¿Cuál es la forma más fácil de simular el teclado y el mouse en Python?



pynput (4)

¿Tal vez estás buscando Sendkeys ?

SendKeys es un módulo de Python para Windows que puede enviar una o más combinaciones de teclas o combinaciones de teclas a la ventana activa.

parece que solo tiene ventanas

También tienes pywinauto (copiado de mi answer SO)

pywinauto es un conjunto de módulos de código abierto (LGPL) para utilizar Python como ''controlador'' de automatización de GUI para sistemas operativos basados ​​en Windows NT (NT / W2K / XP).

y ejemplo de la página 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()

Necesito hacer algunas macros y quiero saber cuál es la forma más recomendada de hacerlo.

Entonces, necesito escribir algo y hacer clic en algunos lugares con él y tengo que emular la tecla TAB.


Hago pruebas automatizadas en Python. Tiendo a usar lo siguiente:

http://www.tizmoi.net/watsup/intro.html
Editar: El enlace está muerto, versión archivada: https://web.archive.org/web/20100224025508/http://www.tizmoi.net/watsup/intro.html

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

No siempre (casi nunca) simulo las pulsaciones de teclas y el movimiento del mouse. Usualmente uso COM para establecer valores de objetos de Windows y llamar a sus métodos .click ().

Puede enviar señales de pulsación de tecla con esto:

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

Esto es todo en Windows. Si estás en otro entorno, no tengo ni idea.


Puede usar la biblioteca PyAutoGUI para Python que funciona en Windows, macOS y Linux.

Ratón

Aquí hay un código simple para mover el mouse al centro de la pantalla:

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

Página de documentos: funciones de control del mouse .

Pregunta relacionada: Controlar el mouse con Python .

Teclado

Ejemplo:

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

Página de documentos: funciones de control del teclado .

Más información: Controlar el teclado y el mouse con la automatización de GUI (Capítulo 18 de e-book).

Preguntas relacionadas: