小朋友们好,大朋友们好!
我是猫妹,一名爱上Python编程的小学生。
欢迎和猫妹一起,趣味学Python。
今日主题
你听过GUI自动化吗?
GUI自动化就是用软件模拟鼠标和键盘的操作。
提到Python GUI自动化,不得不提pyautogui,它使用简单功能强大。
没有安装pyautogui库的话,先用pip命令安装下。
pyautogui可以模拟鼠标和键盘,还有一些杂项操作。
咱们今天先学习下鼠标相关操作和图片识别相关操作。
鼠标操作
鼠标移动
1.导入pyautogui库
4.将鼠标移动到绝对坐标(1300,200),duration=2指2秒,将鼠标移动到(1300,200)用时2秒
5.打印鼠标位置(1300,200)
6.移动鼠标,基于当前的位置(1300,200),在此基础上移动相对位置(200,400)
7.打印鼠标位置(1500,600)
鼠标单击
鼠标双击
鼠标按下和释放
鼠标拖动
6.使用绝对坐标拖动鼠标
6.使用相对坐标拖动鼠标
鼠标滚动
5.参数是整数,表示向上或向下滚动多少个单位。如果向上,传入正整数,向下传入负整数。这个单位根据不同的操作系统可能不一样。
屏幕处理
获取屏幕截图并保存
3.获取屏幕截图
4.将其保存为screenshot.png
获取屏幕某点的颜色值
6.获取某一坐标像素值的颜色值
将某点坐标的颜色和另一点坐标的颜色相比较
9.将坐标(500,500)的颜色值和颜色值(218,154,67)相比较,返回布尔值
如何在屏幕上搜索某个图像
假设桌面有个熟悉的图标如下:
我们该如何用pyautogui找到它呢?
如果是你,你该怎么找呢?
是不是首先得参照上面这个图片,然后在屏幕上逐行扫描,扫到为止。
pyautogui也是类似的:
# 图像识别(一个)
oneLocation = pyautogui.locateOnScreen('weixin.png')
print(oneLocation)
locateOnScreen() 函数返回4个整数的元组,是屏幕上首次发现该图像时左边的 x 坐标、顶边的 y 坐标、宽度以及高度。
如果屏幕上找不到该图像,locateOnScreen() 函数将返回 None。
请注意要成功识别,屏幕上的图像必须与提供的图像完全匹配。
即使只差一个像素, locateOn Screen() 函数也会返回None。
如果电脑屏幕上上有多个一样的图标,可以使用locateAllOnScreen()函数。
import pyautogui
allLocation = pyautogui.locateAllOnScreen('weixin.png')
print(list(allLocation))
分享一个点赞程序
程序员喜欢写博客,用博客记录自己的学习和生活。
咱们今天就用所学知识,给Chinese Software Developer Network上的博客作者点赞。
就从上向下,点赞前10名吧!
点赞后的部分效果如下:
用到的代码如下:
好了,我们今天就学到这里吧!
如果遇到什么问题,咱们多多交流,共同解决。
我是猫妹,咱们下次见!