python - pyautogui 检测按钮变化
问题描述
pyautogui 在使用它单击屏幕上的按钮(软件的)时效果很好,但是有什么方法可以检测按钮状态的变化,因为当第一次单击完成并完成所需的任务时,按钮就会消失并且出现一个新的“是”按钮,如果任务未完成,则出现“否”按钮,问题是,两个按钮出现在相同的 x 和 y 坐标上,我的意思是在那个地方出现是或否,有没有找出是出现还是没有出现的方法?然后点击是否出现?
解决方案
您可以在 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)
推荐阅读
- java - 在 WildFly/CXF Webservice 客户端中使用 DefaultSSLSocketFactory
- css - 在 Safari 的 flexbox 中拉伸图像
- python - 是什么导致此代码模型中的索引错误?
- java - 使用 Mockito (Kotlin) 在间谍对象上引发异常的存根方法
- forms - 如何使本 Powerapps 课程中有关编辑表单的代码生效?
- javascript - 检测浏览器对 CSS @Page 属性的支持
- r - 使用 read_sas 有效地将 SAS 导入到 R 循环中,要导入的列因文件而异
- java - Java 线程池 - 尝试生成 n 矩阵
- docker - Nginx 反向代理子目录 vai proxy_pass for Bookstack
- sql - 触发器以跟踪 Oracle 表上的所有插入或更新