如何使用pyautogui等待特定图像出现在屏幕上?

时间:2018-06-01 12:55:50

标签: python-3.x pywinauto pyautogui

我有一个应用程序可以自动使用pyautogui模块。我将参考图像保留在脚本目录中,经过一段休眠时间后,我就能完成了。在某些构建中,特定图像会出现延迟。对于它,它会抛出属性未找到错误。

我需要如何控制pyautogui等到图像出现在屏幕上,之后再继续执行。

我搜索了很多堆栈溢出,我在pywinauto模块中找到wait_until(),等待特定窗口。同样地,我们有什么东西可以让pyautogui在屏幕上等待特定的图像?

使用的Python版本:3.6

2 个答案:

答案 0 :(得分:0)

这将等到找到图像:

icon_to_click = "Recycle Bin"

r = None
while r is None:
    r = pyautogui.locateOnScreen('rb.png', grayscale = True)
print icon_to_click + ' now loaded'

答案 1 :(得分:0)

在较新版本的Python(3.6)中,如果无法找到图像,则locateOnScreen()不再返回无。它将引发异常。经过10分钟的努力后,我发现以下解决方案有效:

r =无 而r == None:     尝试:         打印(pyautogui.locateOnScreen(“ rb.png”))         打破     例外,例如e:         r =无