Tutorial común de PyautoGui (una pieza es suficiente)


He visto mucho Pyautogui, resumen de la esencia, aquí tienes todo lo que quieres, ¡uno es suficiente!

1. Preparámetro

  • Función a prueba de fallos

# 默认这项功能为True, 这项功能意味着:当鼠标的指针在屏幕的最坐上方,程序会报错;目的是为了防止程序无法停止
pyautogui.FAILSAFE =False  
  • Función de pausa

# 意味着所有pyautogui的指令都要暂停一秒;其他指令不会停顿;这样做,可以防止键盘鼠标操作太快;
pyautogui.PAUSE = 1    

2. Parámetros del mouse

2.1 Obtener la resolución de la pantalla

print(pyautogui.size())   # 返回所用显示器的分辨率; 输出:Size(width=1920, height=1080)
width,height = pyautogui.size()
print(width,height)  # 1920 1080

2.2 Eventos de movimiento del mouse

  • Mover a la ubicación especificada
# 将鼠标移动到指定的坐标;duration 的作用是设置移动时间,所有的gui函数都有这个参数,而且都是可选参数;
# 向右移动100px,向下移动500px, 这个过程持续 1 秒钟;
pyautogui.moveTo(100,300,duration=1)   
  • Posición del mouse
print(pyautogui.position())   # 得到当前鼠标位置;输出:Point(x=200, y=800)

2.3 Evento de clic del mouse

  • Click del raton
# 点击鼠标
pyautogui.click(10,10)   # 鼠标点击指定位置,默认左键
pyautogui.click(10,10,button='left')  # 单击左键
pyautogui.click(1000,300,button='right')  # 单击右键
pyautogui.click(1000,300,button='middle')  # 单击中间
  • Haga doble clic
pyautogui.doubleClick(10,10)  # 指定位置,双击左键
pyautogui.rightClick(10,10)   # 指定位置,双击右键
pyautogui.middleClick(10,10)  # 指定位置,双击中键
  • Haga clic y suelte el mouse
pyautogui.mouseDown()   # 鼠标按下
pyautogui.mouseUp()    # 鼠标释放
  • Evento de arrastre del control del mouse
# 拖动到指定位置
# 将鼠标拖动到指定的坐标;duration 的作用是设置移动时间,所有的gui函数都有这个参数,而且都是可选参数
pyautogui.dragTo(100,300,duration=1)   

# 按方向拖动
# 向右拖动100px,向下拖动500px, 这个过程持续 1 秒钟
pyautogui.dragRel(100,500,duration=4)   # 第一个参数是左右移动像素值,第二个是上下
  • Rueda de ratón
# 控制鼠标滚动的函数是scroll(), 传入一个整数的参数,说明向上或向下滚动多少个单位;单位根据操作系统不同而不同
pyautogui.scroll(300)  # 向下滚动300个单位;

Tres, eventos de teclado

3.1 Función de entrada de teclado

pyautogui.keyDown(): Simular
pyautogui.keyUp()pulsación de tecla
pyautogui.press();: Simular liberación de tecla ;: # es para llamar a keyDown () & keyUp () para simular una pulsación de tecla ;: El
pyautogui.typewrite('this',0.5)primer parámetro es el contenido de entrada, el segundo parámetro es el intervalo de tiempo entre cada carácter
pyautogui.typewrite(['T','h','i','s']);: typewrite También puede pasar una lista de una sola letra;

  • Eventos de teclado
pyautogui.keyDown('shift')    # 按下shift
pyautogui.press('4')    # 按下 4
pyautogui.keyUp('shift')   # 释放 shift
  • Salida lenta
pyautogui.typewrite('$*……%……¥', 0.5)

3.2 Salida de secuencia especial del teclado

pyautogui.typewrite(['T','i','s','left','left','h',])   # 输出:This

3.3 Teclas especiales

Cadena de teclado Descripción
entrar (o volver o \ n) Retorno de carro
Esc ESC
palanca de cambios, palanca de cambios Teclas SHIFT izquierda y derecha
altleft, altright Teclas ALT izquierda y derecha
ctrlleft, ctrlright Teclas CTRL izquierda y derecha
pestaña (\ t) TAB 键
retroceso, borrar RETROCESO 、 BORRAR 键
pageup, pagedown PÁGINA ARRIBA 和 PÁGINA ABAJO 键
casa, fin Teclas de INICIO y FIN
arriba abajo izquierda derecha Teclas de flecha
f1, f2, f3 ... f12 F1 …… .F12 tecla
volumen silenciar, bajar volumen, subir volumen El sonido se vuelve más alto y más bajo (algunos teclados no lo hacen)
pausa Tecla de pausa, tecla de pausa
Bloq Mayús Tecla CAPS LOCK
Num lock Tecla NUM LOCK
scrolllock Tecla SCROLLLOCK
insertar INSERT clave
imprimir pantalla Tecla IMPRIMIR PANTALLA
winleft, winright Win 键 (windows)
mando tecla de comando (Mac OS X)
opción opción (Mac OS X)

3.4 Teclas de acceso directo

  • Si necesitamos simular la tecla de atajo de copia ctrl + c, si usamos el método anterior, el código es:
pyautogui.keyDown('ctrl')
pyautogui.keyDown('c')
pyautogui.keyUp('c')
pyautogui.keyUp('ctrl')
  • Optimizado
pyautogui.hotkey('ctrl','c')

Cuatro, procesamiento de pantalla

4.1 Captura de pantalla

  • pyautogui proporciona una captura de pantalla del método (), que puede devolver un objeto de imagen de almohada

  • Parámetros comunes

im = pyautogui.screenshot() # 返回屏幕的截图,是一个Pillow的image对象
im.getpixel((500, 500)) # 返回im对象上,(500,500)这一点像素的颜色,是一个RGB元组
pyautogui.pixelMatchesColor(500,500,(12,120,400)) # 是一个对比函数,对比的是屏幕上(500,500)这一点像素的颜色,与所给的元素是否相同;
  • Operación de captura de pantalla
im = pyautogui.screenshot()
im.save('屏幕截图.png')

Supongo que te gusta

Origin blog.csdn.net/weixin_38640052/article/details/112387653
Recomendado
Clasificación