Python usa el módulo PyAutoGUI para controlar el mouse y el teclado

        PyAutoGUI es una biblioteca de terceros de Python multiplataforma y fácil de usar que puede simular el teclado y el mouse para una operación automática. Este artículo explicará en detalle cómo realiza el control del mouse y el teclado. Los estudiantes interesados ​​​​pueden aprender sobre esto.

        1. Instale el módulo pyautogui usando pip:

pip install pyautogui

        Esta área necesita atención: pyautogui tiene dos peligros clave ocultos al usarlo (es difícil cerrar el programa después de que se inicia), uno es que aparecerá un error cuando el mouse aparece en la parte superior de la pantalla, y el otro es que la operación automática del teclado es demasiado rápida, por lo que primero debe configurar los parámetros relevantes;

        2. El método de configuración de parámetros es el siguiente:

import pyautogui as ui  # 导入pyautogui代码块
 
ui.FAILSAFE = False  # 关闭自动防御故障的功能
ui.PAUSE = 1  # 设置键盘操作的时候停顿间隔时间为1秒

        3. Controles relacionados con el ratón:

'''获取屏幕分辨率'''
print(ui.size())
# Size(width=1920, height=1080)
# 屏幕分标率:宽:1920px、高:1080px
 
'''移动鼠标到指定位置'''
ui.moveTo(250, 400, duration=1)  # duration 参数设置移动到指定位置的时间为1秒钟
 
'''按方向移动鼠标'''
ui.moveRel(200, 300, duration=2)  # 鼠标向右移动200px、向下移动300px,移动时间为2秒钟
 
'''获取当前鼠标的位置'''
print(ui.position())
# Point(x=450, y=700)
 
'''单击鼠标'''
ui.click(200, 200, button='left')  # 在屏幕200px,200px的位置点击鼠标左键
ui.click(200, 200, button='right')  # 在屏幕200px,200px的位置点击鼠标右键
ui.click(200, 200, button='middle')  # 在屏幕200px,200px的位置点击鼠标中键
 
'''双击鼠标'''
ui.doubleClick(200, 200)  # 在屏幕200px,200px的位置双击鼠标左键
ui.rightClick(200, 200)  # 在屏幕200px,200px的位置双击鼠标右键
ui.middleClick(200, 200)  # 在屏幕200px,200px的位置双击鼠标中键
 
'''按下与释放鼠标'''
ui.mouseDown()  # 按下鼠标
ui.mouseUp()  # 释放鼠标
 
'''拖动鼠标'''
ui.dragTo(200, 300, duration=1)  # 拖动鼠标到指定位置
ui.dragRel(200, 300, duration=4)  # 按方向拖动鼠标
 
'''滚动鼠标'''
ui.scroll(450)  # 向上滚动450个像素单位

        4. Controles relacionados con el teclado:

'''
pyautogui.keyDown() : 模拟按键按下;
pyautogui.keyUp() : 模拟按键释放;
pyautogui.press() : # 就是调用keyDown() & keyUp(),模拟一次按键;
pyautogui.typewrite('this',0.5) : 第一参数是输入内容,第二个参数是每个字符间的间隔时间;
pyautogui.typewrite(['T','h','i','s']):typewrite 还可以传入单字母的列表;
'''
 
ui.keyDown('ctrl')  # 按下ctrl键
ui.press('Y')  # 按一下Y键
ui.keyUp('ctrl')  # 释放ctrl键
 
ui.typewrite('YYDS', 0.5)  # 输入YYDS的字符串,每个字符之间的时间间隔是0.5秒
 
'''一些特定键的使用'''
 
# 可以使用typewrite函数调用类似于enter的特殊按键
ui.typewrite(['enter'])  # 模拟按一次enter键
 
'''
键盘字符串   说明
enter(或return 或 \n) 回车
esc ESC键
shiftleft, shiftright   左右SHIFT键
altleft, altright   左右ALT键
ctrlleft, ctrlright 左右CTRL键
tab (\t)    TAB键
backspace, delete   BACKSPACE 、DELETE键
pageup, pagedown    PAGE UP 和 PAGE DOWN键
home, end   HOME 和 END键
up, down, left,right    箭头键
f1, f2, f3…. f12    F1…….F12键
volumemute, volumedown,volumeup 声音变大变小静音(有些键盘没有)
pause   PAUSE键,暂停键
capslock    CAPS LOCK 键
numlock NUM LOCK 键
scrolllock  SCROLLLOCK 键
insert  INSERT键
printscreen PRINT SCREEN键
winleft, winright   Win键(windows )
command command键(Mac OS X )
option  option(Mac OS X)
'''

        Puede usar la función de escritura para procesar claves especiales de acuerdo con las cadenas correspondientes a la lista de procesamiento de claves anterior:

ui.typewrite(['esc'])  # 模拟按一下esc键
 
'''快捷键的模拟处理'''
 
# 程序猿神器:CV大法
ui.hotkey('ctrl','c')  # ctrl + c
ui.hotkey('ctrl','v')  # ctrl + v

        También puede usar el método tradicional para presionar las teclas una por una y finalmente combinar las teclas de acceso directo:

# 模拟代码格式化快捷键ctrl + alt +l
ui.keyDown('ctrl')
ui.keyDown('alt')
ui.keyDown('l')
 
# 挨个释放这几个键
ui.keyUp('l')
ui.keyUp('alt')
ui.keyUp('ctrl')

        Si depura el código en el entorno de Windows, debe ejecutar el compilador como administrador.

Supongo que te gusta

Origin blog.csdn.net/2203_75758128/article/details/130785214
Recomendado
Clasificación