×

神器 精准 pyautogui 识别 自动化

Python GUI自动化神器pyautogui,精准识别图片并自动点赞(32)

jnlyseo998998 jnlyseo998998 发表于2023-04-26 15:11:02 浏览132 评论0

抢沙发发表评论

小朋友们好,大朋友们好!

我是猫妹,一名爱上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名吧!

点赞后的部分效果如下:

用到的代码如下:

好了,我们今天就学到这里吧!

如果遇到什么问题,咱们多多交流,共同解决。

我是猫妹,咱们下次见!