不懂先生

pyautogui学习
1.鼠标操作import pyautogui pyautogui.PAUSE = 1 # 意味着所有pyautog...
扫描右侧二维码阅读全文
10
2022/01

pyautogui学习

1.鼠标操作

import pyautogui
pyautogui.PAUSE = 1 # 意味着所有pyautogui的指令都要暂停一秒;其他指令不会停顿;这样做,可以防止键盘鼠标操作太快;
pyautogui.FAILSAFE = False#默认这项功能为True, 这项功能意味着:当鼠标的指针在屏幕的最坐上方,程序会报错;目的是为了防止程序无法停止;
# 获取屏幕尺寸
width,height = pyautogui.size()
print(width,height)
# 输出Size(width=1920, height=1080)

# 获取鼠标当前位置
point = pyautogui.position()
print(point)
# Point(x=1441, y=800)
# 左上角为起点


# 判断坐标是否在屏幕范围内
# print(pyautogui.onScreen(1921,1))
# False

# 移动鼠标
pyautogui.moveTo(1,1,duration = 2)#移动鼠标第一个参数是左右,第二个参数是上下,一左上角为零点,第三个参数是移动的时间

# 控制鼠标点击

#鼠标单击
pyautogui.click(x=1627, y=1049)#鼠标点击指定位置,默认左键
pyautogui.click(x=1627, y=1049,button = 'left') #单击左键
pyautogui.click(x=1627, y=1049,button = 'right')#单击右键
pyautogui.click(x=1627, y=1049,button = 'middle')#单击中间


# 鼠标双击

pyautogui.doubleClick(x=1627, y=1049)#指定位置,双击左键
pyautogui.rightClick(x=1627, y=1049)#指定位置,双击右键
pyautogui.middleClick(x=1627, y=1049)#指定位置,双击中键


#点击&释放

pyautogui.mouseDown(x=1627, y=1049)#鼠标按下
pyautogui.mouseUp()#鼠标释放


# 控制鼠标拖动
# 拖动到指定位置

pyautogui.dragTo(x=1627, y=1049,duration = 1)#将鼠标拖动到指定的坐标;duration 的作用是设置移动时间,所有的gui函数都有这个参数,而且都是可选参数

# 按方向拖动
pyautogui.dragRel(100,100,duration = 2)#以原地为起点


# 鼠标滚动
pyautogui.scroll(300)#向上滚动300个单位

2.键盘操作

import pyautogui

# 键盘输入输出函数
# pyautogui.keyDown()#模拟键盘按下
# pyautogui.keyUp()#模拟按键释放
# pyautogui.press()#调用keyDown()和keyUp(),模拟一次按键
# pyautogui.typewrite('this',0.5)#第一个参数是输入内容,第二个参数是每个字符间的间隔时间
# pyautogui.typewrite(['T','H','I','S'])#typewrite还可以传入单字母的列表

# 模拟输入一次 $
# pyautogui.keyDown('shift')#按下shift键
# pyautogui.press('4')#按下4
# pyautogui.keyUp('shift')#释放shift

# 缓慢输出 $$$$
# pyautogui.typewrite('$$$$',0.5)

# 键盘特殊按键输入,详细见:特殊按键对应单词
# pyautogui.typewrite(['T','i','s','left','left','h',])#输出this


# 快捷键
# ctrl+c
# pyautogui.keyDown('ctrl')
# pyautogui.keyDown('c')
# pyautogui.keyUp('ctrl')
# pyautogui.keyUp('c')

# 快捷键的按键与释放顺序非常关键,这时我们可以使用pyautogui.hotkey()
# 这个函数可以接受多个参数,按传入顺序按下,再按照相反顺序释放,如ctrl+c
pyautogui.hotkey('ctrl','c')

3.屏幕处理

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

# 1.1 获取屏幕截图
im = pyautogui.screenshot()#截取全屏
# im.save('屏幕截图.png')
color = im.getpixel((1441,800))#返回im对象上(1441,800)这一点像素的颜色
print(color)
print(pyautogui.pixelMatchesColor(1441,800,(43,43,43)))#是一个对比函数,对比的是屏幕上(1441,800)这个点的像素颜色寓所给RGB颜色是否相同


4.图像识别

import pyautogui
pyautogui.PAUSE = 1 #所有的pyautogui指令都要暂停疫苗,其他指令不会停顿,这样做可以防止键盘鼠标操作太快
# print(pyautogui.locateOnScreen('weixin.png'))
left,top,width,height = pyautogui.locateOnScreen('weixin.png')
print(left,top)


# 匹配到多个截图
# btm = pyautogui.locateAllOnScreen('weixin.png')
# print(list(btm))
print(pyautogui.center((left, top, width, height)))#返回指定位置的中心点,易配合鼠标操作点击找到图片的中心

5.提示框

import pyautogui

# 提示/警告框
# a = pyautogui.alert(text='This is an alert box',title='Test')
# print(a)

# 选择框
# b = pyautogui.confirm('选择一项',buttons=['A','B','C','D'])
# print(b)#返回值为所选项

# 密码输入

# c = pyautogui.password('Enter password (text will be hidden)')
# print(c)#返回值为刚刚输入的值

# 普通输入
d = pyautogui.prompt('请输入一个数字:')
print(d)#返回值是输入的数字
Last modification:January 18th, 2022 at 04:22 pm

Leave a Comment