目录
引言安装鼠标操作键盘操作高级操作教学代码总结引言
pyautogui一个神奇的图像自动化库,学会之后无所不能。上能挂机刷宝箱,下能自动写文档。(>人<;)让我装个逼,别锤我,谢谢!
安装
这个pyautogui在win10上的安装挺坑的,当初第一次安装时出现了好几次错误(┬┬﹏┬┬)
安装命令如下:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pyautogui
导入模块
在安装好这个模块后我们还需要在程序的开头加上如下代码导入该模块
import pyautogui
鼠标操作
讲鼠标操作前,我们提个问题,如何确认电脑上屏幕上某个图标的位置?
答:是通过图标的左上角的坐标位置进行确认的。
如图所示,我们可以看看出是以屏幕的左上角作为起始点,进行确认屏幕中的位置。细心的小伙伴可能会发现,这坐标的走向类似于数学坐标系中的第四象限。没错,不过Y轴的数值类似于第四象限的Y轴的绝对值。也就是说Y的值越大,在屏幕中的为位置就越向下。说明如果我想让鼠标点击某个位置,必须要先获取该位置的坐标值。
1、获取鼠标位置
所以我们的第一条命令就是获取鼠标当前的位置。
x,y = pyautogui.position()
我们来打印下当前的位置
print ("当前鼠标的X轴的位置为:{},Y轴的位置为:{}".format(x,y))
输出结果如下:
当前鼠标的X轴的位置为:333,Y轴的位置为:327
2、获取屏幕分辨率
如何获取屏幕的分辨率呢?也就是最大的X和Y的值
x,y = pyautogui.size()
打印屏幕的分辨率
print ("当前屏幕的分辨率是{}*{}".format(x,y))
输出结果:
当前屏幕的分辨率是1536*864
3、移动鼠标
比如说,电脑桌面上的火狐浏览器的位置是(100,100).我如何将鼠标移动到这个位置呢?
pyautogui.moveTo(x=300,y=300,duration=0.25)
duration类似于移动时间或移动速度,省略后则是瞬间移动到指定的位置
4、单击鼠标
如何让鼠标左键点击屏幕中(100,100)的位置呢?
pyautogui.click(x=100,y=150,button="left")
当button=‘left’
相当于鼠标左键,button=‘right’
相当于鼠标右键。当不带button参数时,默认为左键。
5、双击鼠标
如何双击鼠标呢?
pyautogui.doubleClick(x=100,y=150,button="left")
当button=‘left’
相当于鼠标左键,button=‘right’
相当于鼠标右键。当不带button参数时,默认为左键。
6、拖拽鼠标
如何实现拖拽鼠标?
pyautogui.dragTo(x,y,duration=0.25)
duration类似于移动时间或移动速度,省略后则是瞬间移动到指定的位置
键盘操作
在讲键盘操作之间,先展示一张从脚本之家盗来的按键映射表
1、发送组合键
pyautogui.hotkey("win", "r")
发送的按键之间使用【,】逗号隔开。
2、输入内容
pyautogui.typewrite(message="hello world",interval=0.25)
message后面跟要输入的内容,interval用于设置输入的速度
高级操作
pyautogui有内置的截图功能,可以使用screenshot
方法进行截图,然后可以操作截图,进行确认图片位置或者指定坐标的颜色等。
1、获取坐标点的像素
img = pyautogui.screenshot() color = img.getpixel((100,100))
执行结果:
该坐标的像素点的颜色是:(255, 255, 255)
返回的是三原色值。
2、获取图片的位置
x,y,width,height = pyautogui.locateOnScreen("a.png")
括号中传递的是图标文件的路径
执行:
print ("该图标在屏幕中的位置是:X={},Y={},宽{}像素,高{}像素".format(x,y,width,height))
结果:
该图标在屏幕中的位置是:X=9,Y=741,宽81像素,高95像素
3、获取图标的中心点
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))
总结
到此这篇关于python教程之利用pyautogui图形自动化击败重复性办公任务的文章就介绍到这了,更多相关pythonpyautogui图形自动化内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
X 关闭
X 关闭
- 15G资费不大降!三大运营商谁提供的5G网速最快?中国信通院给出答案
- 2联想拯救者Y70发布最新预告:售价2970元起 迄今最便宜的骁龙8+旗舰
- 3亚马逊开始大规模推广掌纹支付技术 顾客可使用“挥手付”结账
- 4现代和起亚上半年出口20万辆新能源汽车同比增长30.6%
- 5如何让居民5分钟使用到各种设施?沙特“线性城市”来了
- 6AMD实现连续8个季度的增长 季度营收首次突破60亿美元利润更是翻倍
- 7转转集团发布2022年二季度手机行情报告:二手市场“飘香”
- 8充电宝100Wh等于多少毫安?铁路旅客禁止、限制携带和托运物品目录
- 9好消息!京东与腾讯续签三年战略合作协议 加强技术创新与供应链服务
- 10名创优品拟通过香港IPO全球发售4100万股 全球发售所得款项有什么用处?