我们平时的工作中有很多时候都在重复几乎完全相同的操作,当我们碰到一些重复繁琐枯燥又浪费时间的工作时,我们就可以利用自动化工具帮助我们来完成一部分任务
我们可以通过pyautogui 这个模块可以用来模拟我们鼠标和键盘的操作
0、安装模块
pip install pyautogui
import pyautogui//将鼠标移动到200 x 400 的坐标处,花费时间为2s
pyautogui.moveTo(200,400,duration=2)
我们可以理解为电脑是一张画布,从左上角为起点,越右下靠近数值越大,直到超出屏幕分辨率,而当我们执行上面的语句的时候,会将鼠标移动到这张画布高200 宽400的位置

pyautogui.moveRel(200,500,duration=2)
以当前坐标为起点,向右移动200,向下移动500
实际上向右和向下的操作是同时进行的,效果为斜着移动

鼠标操作基本一致,这里整合下
| 方法 | 作用 |
| pyautogui.click(100,100) | 鼠标点击,默认左键 |
| pyautogui.click(100,100,button='left') | 单击左键 |
| pyautogui.click(100,300,button='right') | 单击右键 |
| pyautogui.click(100,300,button='middle') | 单击中间 |
| pyautogui.doubleClick(10,10) | 双击左键 |
| pyautogui.rightClick(10,10) | 双击右键 |
| pyautogui.middleClick(10,10) | 双击中键 |
| 方法 | 作用 |
| pyautogui.keyDown() | 模拟按键按下 |
| pyautogui.keyUP() | 模拟按键松开 |
| pyautogui.press() | 模拟一次按键过程,即 keyDown 和 keyUP 的组合 |
| pyautogui.typewrite() | 模拟键盘输出内容 |
| pyautogui.hotkey('ctrl','c') | 模拟组合键 |
举个例,我们用键盘输入 感叹号要按住shift + 1
import pyautoguipyautogui.keyDown('shift') #按住shift
pyautogui.press('1') #按一下1
pyautogui.keyUp('shift') #松开shift建

上面的方法适合比较精细的操作,如果为了方便可以用pyautogui.hotkey()
import pyautoguipyautogui.hotkey('shift','1')
import pyautogui#//python是被输出的字符串, 1是每个字符的输出间隔时间
pyautogui.typewrite('python', 1)

应该有小伙伴发现了问题,你光打字不回车咋用啊,比如访问浏览器你不回车怎么访问呢
import pyautogui#// 我们可以用[] 框住想要输出的字符,最后的位置如果是按键会操作按键,或者我们用前面的操作直接按键
pyautogui.typewrite(['p','y','t','h','o','n','enter'],0.5)

当你在模拟一个桌面操作的时候,如果有分支操作需要根据实际情况来判断
| 方法 | 作用 |
| pyautogui.confirm() | 提示框 |
| pyautogui.alert() | 警告框 |
| pyautogui.password() | 密码框 |
| pyautogui.prompt | 输入框 |
pyautogui.alert(text='警告!敌军来袭!', title='警告框')pyautogui.password('请输入密码')pyautogui.prompt('请输入指令:')pyautogui.confirm('领导,该走哪条路?', buttons=['农村路', '水路', '陆路'])
上一篇:并查集(不相交集)详解