python 自动化学习(一) pyautogui 模块

时间:2022-03-05 00:59:35


我们平时的工作中有很多时候都在重复几乎完全相同的操作,当我们碰到一些重复繁琐枯燥又浪费时间的工作时,我们就可以利用自动化工具帮助我们来完成一部分任务

我们可以通过pyautogui  这个模块可以用来模拟我们鼠标和键盘的操作

比较全的参考笔记

一、鼠标操作

0、安装模块

pip install pyautogui

1、移动到屏幕坐标

import pyautogui

//将鼠标移动到200 x 400 的坐标处,花费时间为2s
pyautogui.moveTo(200,400,duration=2)

 我们可以理解为电脑是一张画布,从左上角为起点,越右下靠近数值越大,直到超出屏幕分辨率,而当我们执行上面的语句的时候,会将鼠标移动到这张画布高200 宽400的位置

python 自动化学习(一) pyautogui 模块

2、基于鼠标当前坐标移动

pyautogui.moveRel(200,500,duration=2)

以当前坐标为起点,向右移动200,向下移动500 

实际上向右和向下的操作是同时进行的,效果为斜着移动 

python 自动化学习(一) pyautogui 模块

 3、鼠标操作整合

鼠标操作基本一致,这里整合下

方法

作用

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

模拟组合键

1、鼠标按下及释放

举个例,我们用键盘输入 感叹号要按住shift + 1 

import pyautogui

pyautogui.keyDown('shift') #按住shift
pyautogui.press('1') #按一下1
pyautogui.keyUp('shift') #松开shift建

 

python 自动化学习(一) pyautogui 模块

上面的方法适合比较精细的操作,如果为了方便可以用pyautogui.hotkey()

import pyautogui


pyautogui.hotkey('shift','1')

2、模拟键盘输出

import pyautogui


#//python是被输出的字符串, 1是每个字符的输出间隔时间
pyautogui.typewrite('python', 1)

python 自动化学习(一) pyautogui 模块

 应该有小伙伴发现了问题,你光打字不回车咋用啊,比如访问浏览器你不回车怎么访问呢

import pyautogui


#// 我们可以用[] 框住想要输出的字符,最后的位置如果是按键会操作按键,或者我们用前面的操作直接按键
pyautogui.typewrite(['p','y','t','h','o','n','enter'],0.5)

 

python 自动化学习(一) pyautogui 模块

4、提示框

当你在模拟一个桌面操作的时候,如果有分支操作需要根据实际情况来判断

方法   

作用

pyautogui.confirm()

提示框

pyautogui.alert()

警告框

pyautogui.password()

密码框

pyautogui.prompt

输入框

import pyautogui


pyautogui.alert(text='警告!敌军来袭!', title='警告框')

pyautogui.password('请输入密码')

pyautogui.prompt('请输入指令:')

pyautogui.confirm('领导,该走哪条路?', buttons=['农村路', '水路', '陆路'])

python 自动化学习(一) pyautogui 模块