pyautogui一个神奇的图像自动化库,学会之后无所不能。上能挂机刷宝箱,下能自动写文档。(>人<;)让我装个逼,别锤我,谢谢!
这个pyautogui在win10上的安装挺坑的,当初第一次安装时出现了好几次错误(┬┬﹏┬┬)
安装命令如下:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pyautogui
在安装好这个模块后我们还需要在程序的开头加上如下代码导入该模块
import pyautogui
讲鼠标操作前,我们提个问题,如何确认电脑上屏幕上某个图标的位置?
答:是通过图标的左上角的坐标位置进行确认的。
如图所示,我们可以看看出是以屏幕的左上角作为起始点,进行确认屏幕中的位置。细心的小伙伴可能会发现,这坐标的走向类似于数学坐标系中的第四象限。没错,不过Y轴的数值类似于第四象限的Y轴的绝对值。也就是说Y的值越大,在屏幕中的为位置就越向下。说明如果我想让鼠标点击某个位置,必须要先获取该位置的坐标值。
x,y = pyautogui.position()
我们来打印下当前的位置
print ("当前鼠标的X轴的位置为:{},Y轴的位置为:{}".format(x,y))
输出结果如下:
当前鼠标的X轴的位置为:333,Y轴的位置为:327
x,y = pyautogui.size()
打印屏幕的分辨率
print ("当前屏幕的分辨率是{}*{}".format(x,y))
输出结果:
当前屏幕的分辨率是1536*864
pyautogui.moveTo(x=300,y=300,duration=0.25)
duration
类似于移动时间或移动速度,省略后则是瞬间移动到指定的位置
pyautogui.click(x=100,y=150,button='left')
当button=‘left’
相当于鼠标左键,button=‘right’
相当于鼠标右键。当不带button参数时,默认为左键。
pyautogui.doubleClick(x=100,y=150,button="left")
当button=‘left’
相当于鼠标左键,button=‘right’
相当于鼠标右键。当不带button参数时,默认为左键。
pyautogui.dragTo(x,y,duration=0.25)
duration
类似于移动时间或移动速度,省略后则是瞬间移动到指定的位置
pyautogui.hotkey('win', 'r')
发送的按键之间使用【,】逗号隔开。
pyautogui.typewrite(message="hello world",interval=0.25)
message后面跟要输入的内容,interval用于设置输入的速度
pyautogui有内置的截图功能,可以使用screenshot
方法进行截图,然后可以操作截图,进行确认图片位置或者指定坐标的颜色等。
img = pyautogui.screenshot()
color = img.getpixel((100,100))
执行结果:
该坐标的像素点的颜色是:(255, 255, 255)
返回的是三原色值。
x,y,width,height = pyautogui.locateOnScreen('a.png')
括号中传递的是图标文件的路径
执行:
print ("该图标在屏幕中的位置是:X={},Y={},宽{}像素,高{}像素".format(x,y,width,height))
结果:
该图标在屏幕中的位置是:X=9,Y=741,宽81像素,高95像素
x, y = pyautogui.center((9,741,81,95))
括号中分别传递,图片的X轴,Y轴,宽,长
执行命令:
x,y = pyautogui.center((9,741,81,95))
执行结果:
该图标的中心点是:X=49,Y=788
# -*- coding:utf-8 -*-
#作者:猫先生的早茶
#时间:2019年5月26日
import pyautogui
"""获取鼠标当前的坐标位置"""
'''
x,y = pyautogui.position()
print ("当前鼠标的X轴的位置为:{},Y轴的位置为:{}".format(x,y))
'''
"""获取屏幕分辨率"""
'''
x,y = pyautogui.size()
print ("当前屏幕的分辨率是{}*{}".format(x,y))
'''
"""移动鼠标到指定位置"""
'''
pyautogui.moveTo(x=300,y=300,duration=0.25)
'''
"""点击鼠标"""
'''
pyautogui.click(x=100,y=150,button='right')
'''
"""双击鼠标"""
'''
pyautogui.doubleClick(x=100,y=150,button="left")
'''
"""发送组合键"""
'''
pyautogui.hotkey('win', 'r')
'''
"""输入内容"""
'''
pyautogui.typewrite(message="hello world",interval=0.25)
'''
"""获取指定坐标的颜色"""
'''
img = pyautogui.screenshot()
color = img.getpixel((100,100))
print ("该坐标的像素点的颜色是:{}".format(color))
'''
"""获取图标的位置"""
'''
x,y,width,height = pyautogui.locateOnScreen('a.png')
print ("该图标在屏幕中的位置是:X={},Y={},宽{}像素,高{}像素".format(x,y,width,height))
'''
"""获取中心点"""
'''
x,y = pyautogui.center((9,741,81,95))
print ("该图标的中心点是:X={},Y={}".format(x,y))
'''