首页 > 解决方案 > pyautogui 检测按钮变化

问题描述

pyautogui 在使用它单击屏幕上的按钮(软件的)时效果很好,但是有什么方法可以检测按钮状态的变化,因为当第一次单击完成并完成所需的任务时,按钮就会消失并且出现一个新的“是”按钮,如果任务未完成,则出现“否”按钮,问题是,两个按钮出现在相同的 x 和 y 坐标上,我的意思是在那个地方出现是或否,有没有找出是出现还是没有出现的方法?然后点击是否出现?

标签: pythonpyautogui

解决方案


您可以在 pyautogui 包中使用图像识别技术。您可以使用 pyautogui 的 locateOnScreen 功能。首先,您可以截屏并保存是和否按钮图像。您紧紧围绕按钮裁剪图像。然后将它们分别保存到“yes.png”和“no.png”中。接着,

btnYesButton = None
btnNoButton = None
while btnYesButton == None and btnNoButton == None:
    btnYesButton = pyautogui.locateOnScreen("yes.png")
    btnNoButton = pyautogui.locateOnScreen("no.png") 
if btnYesButton:
    tmpCenter = pyautogui.center(btnYesButton)
    pyautogui.click(tmpCenter)

推荐阅读