pyautogui模块的使用
1.安装
首先需要有python环境,之后需要安装pyautogui模块。命令如下
pip install pyautogui #安装pyautogui模块
需要注意的是,确保在使用pip前已经换为国内的镜像源。
pip config get global.index-url #查看当前源
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple #换清华源
pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/ #阿里云源
pip config set global.index-url https://pypi.mirrors.ustc.edu.cn/simple/ #中科大源
配合 pyautogui模块的还有time模块,random模块等
pip install time #安装时间模块
pip install random #安装随机模块
2.使用
2.1 获取电脑分辨率
要使用鼠标进行操作,首先要确定操作的范围,即屏幕有多大
gui.size() #获取屏幕分辨率
也可以将结果打印或使用变量接收
print(gui.size()) #输出分辨率
a,b=gui.size() #使用ab接收分辨率的值
print(a,b) #打印a和b
2.2 获取鼠标当前位置
通过定位当前鼠标的位置,获得具体分辨率进行操作
gui.position() #获取当前位置
print(gui.position) #打印当前位置
打印的鼠标位置是程序刚开始运行时鼠标的位置。那时我们可能还没将鼠标移动过去,可以使用延迟,也可以设置while循环直到我们移动到相应位置后,在停止
#延迟获取鼠标位置
import pyautogui as gui
import time
print("五秒后获取鼠标位置")
time.sleep(5)
print(gui.position())
#设置循环持续获取鼠标位置
import pyautogui as gui
gui.FAILSAFE = True # 防止错误,鼠标划到左上角停止程序
while True:
print(gui.position())
2.3 鼠标移动
鼠标移动可以使用moveTo()也可以使用move(),两者的区别是moveTo会移动到全局中的某个位置,move会移动到相对于当前的某个位置
#moveTo()中的可填项为三个,前两个为分辨率,第三个是移动到目的的时间,默认为0
#移动到222,222
import pyautogui as gui
gui.moveTo(222,222)
#两秒移动到222,222
import pyautogui as gui
gui.moveTo(222,222,2)
#move()可填项也是三个,与moveTo()相同
#在当前位置基础上,移动222,222
import pyautogui as gui
gui.move(222,222)
#在当前位置基础上,两秒移动222,222
import pyautogui as gui
gui.move(222,222,2)
2.4 鼠标点击
鼠标点击动作可分为,左键单击,右键单击,中键单机,左键双击,右键双击
,中键双击
click(x,y,button='left') #左键单击
click(x,y,button='right') #右键单击
click(x,y,button='middle') #中键单击
doubleClick(x,y) #左键双击
rightClick(x,y) #右键双击
middleClick(x,y) #中键双击
2.5 鼠标按松和滚轮滑动
鼠标的按下和松开
mouseDown() #按下鼠标(保持按下状态)
mouseUp() #松开鼠标
鼠标滚轮滑动
scroll() #括号内可以为正数(上滑),也可以为负数(下滑)
2.6 拖动窗口
移动窗口到某个位置使用dragTo,共三个参数,第三个为时间,默认为0
dragTo(x,y)
基于当前位置移动窗口dragRel,共三个参数,第三个为时间,默认为0
dragRel(x,y)
3. 键盘操作
3.1 键盘松按
按键按下使用keyDown,松开使用keyUp
keyDown("按键名") #按键按下
keyUp("按键名") #按键松开
也可以使用press,press模拟按下又松开的过程
press("按键名") #按又松开
用press按多个键可以使用列表包含起来
press(['a','b','c','left','d']) #这里left代表的是左键,即输入abdc
typrwrite可以输入多个字符,含有两个参数,第一个是输入的字符,第二个输入的间隔时间
typewrite('helloworld',1) #隔一秒输入一个字符
3.2 热键
hotkey可以简单轻易的使用快捷键
hotkey('按键名','按键名')