【问题标题】:How do you get "Box" values out of "Array" in Python for use with `click()`?如何从 Python 中的“Array”中获取“Box”值以用于“click()”?
【发布时间】:2022-11-18 10:45:17
【问题描述】:

注意:使用PyAutoGui

我试图让 python 按顺序点击屏幕上的每个图标,我已经成功地在屏幕上打印了每个项目,它的 box 值为剩下最佳代替 X 和 Y 坐标。但我不知道如何将左/上转换为 X/Y 值以用于 pyautogui.click()

代码:

import pyautogui

coordinates = pyautogui.locateAllOnScreen('eachIcon.png')
for element in coordinates:
    print(element)

印刷:

Box(left=124, top=699, width=14, height=14)

我将使用什么命令将 Left 和 Top 提取为 X 和 Y 数字坐标?

我对 python 完全陌生,对编码几乎是陌生的(在大学里参加了 C++ 的初学者课程)。我花了一个小时谷歌搜索并尝试了我能想到的每一个术语,我被难住了:因此这篇文章。

【问题讨论】:

    标签: arrays python-3.x image-processing click pyautogui


    【解决方案1】:

    coordinates.left coordinates.right 等应该可以解决问题

    【讨论】:

      【解决方案2】:

      为此,您需要解压缩 tuple

      Box 有 4 个对象 Box(left=124, top=699, width=14, height=14) 来提取它们我们可以只添加 4 个虚拟变量(因为我们只需要 x,y)到你的 for 代码

      for x, y, _, _ in coordinates:

      我插入了虚拟变量,否则我们会得到一个 ValueError。 当变量的数量与值的数量不匹配时会发生错误,因此如果我们有 for x, y in coordinates:,我们将得到一个 ValueError。

      【讨论】:

        猜你喜欢
        • 2011-04-11
        • 2017-07-24
        • 1970-01-01
        • 2014-08-05
        • 2015-11-13
        • 1970-01-01
        • 1970-01-01
        • 2017-09-17
        • 1970-01-01
        相关资源
        最近更新 更多