鱼C论坛

 找回密码
 立即注册
查看: 365|回复: 2

[技术交流] Pyautogui是基于图像匹配的,那同样内容的2个图标按钮,一大一小,它怎么办呢?

[复制链接]
发表于 2024-1-10 15:41:01 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
Pyautogui侧重于鼠标、键盘、截图等功能,且是基于图像匹配进行定位的
,那同样内容的2个图标按钮,一大一小,它能匹配定位到吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2024-1-10 15:41:18 | 显示全部楼层
Pyautogui是基于图像匹配进行定位的,因此同样内容的两个图标按钮,无论大小如何,都可以使用Pyautogui进行定位。尽管它们的尺寸不同,但其它关键特征(如形状、颜色和文本等)应该是相似的,这样Pyautogui就能够找到它们并进行定位。Pyautogui会在屏幕上搜索图像的位置,并返回它的坐标,然后你就可以使用这些坐标来控制鼠标点击按钮了。

下面是一个简单的示例代码,演示了如何使用Pyautogui在屏幕上定位并点击两个相似的按钮:

  1. import pyautogui

  2. # 图像文件路径
  3. button_image = "button.png"

  4. # 从屏幕上找到所有匹配的按钮
  5. buttons = pyautogui.locateAllOnScreen(button_image)

  6. # 遍历所有的按钮
  7. for button in buttons:
  8.     # 获取按钮的中心坐标
  9.     x, y = pyautogui.center(button)
  10.     # 移动鼠标到按钮位置并点击
  11.     pyautogui.moveTo(x, y)
  12.     pyautogui.click()
复制代码


在示例代码中,我们假设有一个名为`button.png`的图像文件,包含两个相似的按钮。我们使用`pyautogui.locateAllOnScreen()`方法找到屏幕上所有匹配的按钮,并使用`pyautogui.center()`方法获取每个按钮的中心坐标。然后,我们可以使用`pyautogui.moveTo()`方法将鼠标移动到按钮的位置,并使用`pyautogui.click()`方法点击按钮。

请注意,你需要确保图像文件`button.png`中包含的是你想要定位和点击的实际图标按钮图像。如果两个按钮的图像差异很大,可能会导致定位不准确。因此,在使用Pyautogui进行定位时,最好选择具有相似特征的按钮图像。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-3-13 19:54:00 | 显示全部楼层
本帖最后由 zxbin1 于 2024-3-13 19:55 编辑
  1. pyautogui.PyAutoGUIException: PyAutoGUI was unable to import pyscreeze. (This is likely because you're running a version of Python that Pillow (which pyscreeze depends on) doesn't support currently.) Please install this module to enable the function you tried to call.
复制代码

报错了怎么办
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-28 22:58

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表