如何让pyautogui识别弹窗?

问题描述 投票:0回答:2

显然,

pyautogui
在使用屏幕截图功能时无法识别“真实”屏幕。

以下简单代码在大多数情况下都可以正常工作,但并非在所有情况下都能正常工作。 显然,某些弹出窗口将无法识别(例如网页、Javascript(?) 或某些 Windows 消息)。

import pyautogui

try:
    pyautogui.click('myButtonSomewhereOnTheScreen.png')
    print("Button clicked")
except:
    print("Error: Button not found")

这个问题几年前就提出过,但据说这是Pillow的一个限制。这些年来是否有任何改进,或者有人可能知道解决方法或包含此类弹出窗口的不同方法?

python windows popup screenshot pyautogui
2个回答
1
投票

通常 pyautogui 无法检测弹出窗口,正如您提到的,这是 Pillow 库的限制。在以前的版本中,我们可以使用 pyautogui.locateonscreen 但这会导致问题,现在只有在程序已经启动时才有效。


0
投票

我针对我的特殊情况解决了这个问题。

我可以让弹出窗口始终占用整个窗口。所以当弹出窗口发生时,我知道整个屏幕 x 到 y 是弹出窗口。

所以发送 pyautogui.click() 然后你会点击弹出窗口把它带到前面(或者你怎么说)

现在有了弹出窗口,您可以继续使用 pyautogui.locateOnScreen()

希望对某人有所帮助!这是我第一次能够为堆栈溢出问题提供可能的答案:)

© www.soinside.com 2019 - 2024. All rights reserved.