基本所有语句都共用duration属性,可以设置执行该命令所用的时间
①前置参数
Ⅰ防故障功能:这项功能在鼠标位于屏幕的最左上方时,程序会报错,目的是为了防止程序无法停止,默认为开启状态
from pyautogui import *
FAILSAFE = True
Ⅱ停顿功能:意味着所有的pyautogui指令都会暂停疫苗,其他的指令不会停顿,目的是防止键盘鼠标操作太快
PAUSE = 1
②鼠标参数
Ⅰ获取屏幕分辨率
from pyautogui import *
#打印当前屏幕的分辨率,width,height
print(size())
#分别接收打印
width,height = size()
print(width,height)
'''
Size(width=2560, height=1440)
2560 1440
'''
Ⅱ鼠标移动事件
①鼠标位置
import pyautogui
#将鼠标移动到指定的x坐标和y坐标处,如果为rel则为相对位置
pyautogui.moveTo(1200, 400, duration=0.1)
#打印鼠标的位置,也可以单独用两个变量名接收
print(pyautogui.position())
'''
Point(x=1200, y=400)
'''
②鼠标点击
#本代码适用于2560*1440分辨率,将pycharm点击右上角第二个在打开的状态下进行才可看到将近所有效果
import pyautogui
import time
# #鼠标点击指定位置,默认左键点击,会先移动鼠标到指定位置后点击
pyautogui.click(2452,24)
# #点击右键、中键,不写坐标则会在当前位置点击
pyautogui.click(button='right')
time.sleep(0.5)
pyautogui.click(button='middle')
#鼠标双击左中右键
pyautogui.doubleClick(2400,2400)
pyautogui.rightClick()
pyautogui.middleClick()
#鼠标长摁和释放,实现拖动左上角的桌面快捷键到右边放下再拖回去,rel是相对位置
pyautogui.mouseDown(60,50)
pyautogui.moveTo(2476,44,duration=4)
pyautogui.mouseUp()
pyautogui.mouseDown(2476,44)
pyautogui.moveTo(60,50,duration=4)
pyautogui.mouseUp()
#鼠标拖动,三句代码实现上述功能
pyautogui.moveTo(60,50)
pyautogui.dragTo(2476,44,duration=4)
pyautogui.dragTo(60,50,duration=4)
#鼠标滚动,传入参数为正向下滚动,为负向上滚动
pyautogui.moveTo(1200,700)
pyautogui.click()
pyautogui.scroll(400)
pyautogui.scroll(-400)
③键盘参数
import pyautogui
#模拟键盘分别按下和抬起以及按下抬起
pyautogui.keyDown('win') #按下win键
pyautogui.keyUp('win') #抬起win键
pyautogui.press('win') #按下并抬起win键
pyautogui.hotkey('ctrl','f') #组合键,也可以先用两个down再用两个up实现
'''
shift,alt,ctrl要分左右 例如shiftright,shiftleft
tab(\t) TAB
up,down,left,right 箭头键
'''
#输入内容,第一个参数是要输入的内容,第二个是执行的总时间可以控制打字速度,是每一个字符的打字速度哦!,速度有上限,不是调的越高越快
pyautogui.typewrite('5156165161......',0.01)
pyautogui.typewrite(['T','I','S','left','left','H']) #left可以改变光标位置,最后输出为THIS
import pyautogui
def on_keypress(key):
# 处理按键事件的逻辑
print(f"按下了按键:{key}")
# 监听键盘按键事件
pyautogui.onKeyPress = on_keypress
# 开始监听键盘事件
pyautogui.listen()
#监听键盘是否按下的按键,如果按下了则打印按下的按键
④屏幕截取
import pyautogui
#返回屏幕的截图,是一个pillow的image对象,以及保存截图,保存的名称为给定值,地址为当前文件夹
im = pyautogui.screenshot()
im.save('屏幕截图.png')
#返回指定点的颜色,为RGB形式
print(im.getpixel((500,500)))
#判断指定点的颜色是否和自己指定的相同,返回为布尔类型
color = pyautogui.pixelMatchesColor(500,500,(12,120,400))
print(color)
识别度较低
'''
找到图片并返回位置,鼠标会在图片的左上角,图片必须和要查找的目标十分相似才能查找到
'''
import pyautogui
weizhi = pyautogui.locateOnScreen('logo2.png')
print(pyautogui.locateOnScreen('logo2.png'))
pyautogui.moveTo(weizhi[0]+50,weizhi[1]+50)