乐趣区

关于python:自动化工具PyAutoGUI的鼠标与键盘控制解放双手的利器

PyAutoGUI 是一个简略易用,跨平台的能够模仿键盘鼠标进行主动操作的 python 库。

【浏览全文】

应用 pip 的形式装置 pyautogui 模块

pip install pyautogui

pyautogui 在应用的时候有两个比拟要害的隐患(程序在启动起来当前很难敞开)须要留神一下。一是鼠标呈现在屏幕的最上方会呈现报错,二是键盘的主动操作太快,所以须要先设置一下相干的参数。

import pyautogui as ui  # 导入 pyautogui 代码块

ui.FAILSAFE = False  # 敞开主动进攻故障的性能

ui.PAUSE = 1  # 设置键盘操作的时候进展间隔时间为 1 秒 

1、鼠标的相干管制

'''获取屏幕分辨率'''
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 个像素单位 

2、键盘的相干管制

'''
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)'''

能够依据下面的按键解决列表对应的字符串来应用 typewrite 函数解决非凡按键。

ui.typewrite(['esc'])  # 模仿按一下 esc 键

'''快捷键的模仿解决'''

# 程序猿神器:CV 大法
ui.hotkey('ctrl','c')  # ctrl + c
ui.hotkey('ctrl','v')  # ctrl + v

也能够应用传统的形式挨个按键,最初就组合成了的快捷键

# 模仿代码格式化快捷键 ctrl + alt +l
ui.keyDown('ctrl')
ui.keyDown('alt')
ui.keyDown('l')

# 挨个开释这几个键
ui.keyUp('l')
ui.keyUp('alt')
ui.keyUp('ctrl')

后续须要做相干的自动化操作,咱们会做一些相干的实例(仅限于学习应用的相干实例)。

【往期精选】

来自程序猿的生日蛋糕你见过吗?

懒人 python 操作,代码中永远只须要导入一个库 …

自动化办公:手机号码提取器,应用正则表达式轻松提取文本文件中的手机号码 …

刚刚发现的可视化动静图库 ipyvizzu,太难看了!

记住这些 windows 网络操作命令,轻松搞定本人的电脑网络!

退出移动版