首页 > 其他分享 >解决方案 | pyautogui实现等待特定图片(对话框)出现(可设置等待超时时间)

解决方案 | pyautogui实现等待特定图片(对话框)出现(可设置等待超时时间)

时间:2023-06-16 20:47:31浏览次数:45  
标签:pyautogui None 对话框 pos location time 超时 等待

1、问题

为了等待某个【转换完毕】的图片(对话框)出现,如何设置?

 

 

 

2、解决方案代码如下

下面代码实现的是:设置超时时间为10s,当你在完成前序工作以后,代码开始进入等待,一旦你的特定图片出现了,马上探测到它的位置并且实现点击按钮。

(注意:如果等待时间超过了10s,那么就会返回提示:Timed out after 10 seconds.)

 

import pyautogui
import time



## 执行某些工作

# 执行代码区域...

## 下面是等待完成的代码
img_path= r".\\image_for_identify\\free_finished.jpg" #存放特定图片的路径
imageFile =img_path
location = None

start_time = time.time()
timeout = 5  # 设置超时时间

while location is None and time.time() - start_time < timeout:
    location = pyautogui.locateOnScreen(imageFile,grayscale=True, confidence=0.8)
    if location is None:
        time.sleep(0.1)

if location is not None:
    left_pos,top_pos,hei_pos ,width_pos= location
    #"确定"按钮的中心坐标,根据你自己的图像进行计算
    x_c=left_pos+0.8*width_pos
    y_c=top_pos+0.8*hei_pos
    pyautogui.click(x_c,y_c)
else:
    print("Timed out after {} seconds.".format(timeout))

 

标签:pyautogui,None,对话框,pos,location,time,超时,等待
From: https://www.cnblogs.com/issacnew/p/17486456.html

相关文章

  • pyautogui.screenshot('test.png') 报错:PyAutoGUI was unable to import pyscreeze (T
    根据提示需要importpyscreeze还需要Pillow.通过pip3list可以查看到已经安装PyScreeze==0.1.29但是不是我手动安装的,应该是Pillow或者pyautogui下载的时候依赖了pyscreeze并且安装了最新版本0.1.29。通过依赖树可以看到是pyautogui依赖了sudopip3installpipdeptree安装查......
  • vc的模态对话框和非模态对话框
    GenerallySpeaking(1)创建一非模态对话框 CMyDlg*pMainWnd=newCMyDlg;pMainWnd->Create();(2)创建一模态对话框CMyDlgdlg;dlg.Domdal();   非模态的对话框是独立的,就是说和主程序可以同时交换数据,而模态的对话框则只能和自己交......
  • odoo16弹出对话框中显示SearchPanel
    在odoo中,有些数据模型的Search视图可能会定义关于SearchPanel的部分,但这部分定义不会在弹出对话框中显示。如员工的list视图显示如下: 但如果我们在一个挑选员工的弹出对话框中,显示是这样子的。 这样如果员工较多,我们还要进一步输入搜索条件来进行过虑,不太方便操作。那如果......
  • 加速tortoisegit的show log,减少等待时间
    减少showlog等待时间90%的情况下下我们对gitrepo执行showlog都只需要查看最近的提交记录,所以减少log条数,就可以加速打开时间。settings->dialogs1->logmessages->dafaultlimitationoflogmessages,建议选择:lastNlimits(限制查看log的条数)40~50G的大仓库show......
  • jquery Mobile点击显示加载等待效果
    点击某个按钮或链接时,触发等待加载效果:<script><!--$(document).bind("mobileinit",function(){});$(function(){//默认设置,一个小圈圈在转$('#default').live('tap',function(){$.mobile.loadingMessageTe......
  • QT 中的模态和非模态对话框
    voidMainWindow::on_pushButton_clicked(){//模态QDialogdlg(this);dlg.resize(100,100);dlg.exec();qDebug()<<"helloworld";//非模态QDialog*dlg2=newQDialog(this);dlg2->resize(200,200);//释放内存,......
  • Linux 内核等待队列
    Linux内核中的等待队列是一种延时机制,其用于当前进程需要等待某些资源而进入一种sleep状态,当等待条件为真时,进程被唤醒,继续执行。显然,这里涉及三个方面,即,一是等待时当前进程处理,二是进程等待时所关注的资源处理,三时进程何时被唤醒继续执行。所以,我们这里需要几个数据结构,主要描......
  • 对话框变化大小后。CBCGPListCtrl、CListCtrl重新显示行数列数m_list_.Arrange(LVA_AL
    h文件中afx_msgvoidOnSize(UINTnType,intcx,intcy);voidResizeUI();vector<CRect>m_vec_rect_; BEGIN_MESSAGE_MAP(CDlgXXX,CBCGPDialog) ON_WM_SIZE() END_MESSAGE_MAP()BOOLCDlgXXX::OnInitDialog(){ CBCGPDialog::OnInitDialog(); EnableVisua......
  • iostat相关参数说明——await:平均每次设备I/O操作的等待时间 (毫秒),如果%util接近 100
    iostat是I/Ostatistics(输入/输出统计)的缩写,iostat工具将对系统的磁盘操作活动进行监视。它的特点是汇报磁盘活动统计情况,同时也会汇报出CPU使用情况。同vmstat一样,iostat也有一个弱点,就是它不能对某个进程进行深入分析,仅对系统的整体情况进行分析。iostat的语法如下:iostat[......
  • 关于python下载pyautogui库报错【ERROR: Command errored out with exit status 1:】
    问题出现: 解决方案:先执行该命令  【pipinstall--upgradesetuptools&&python-mpipinstall--upgradepip】之后再重新执行下载命令  【pipinstallpyautogui-ihttps://pypi.tuna.tsinghua.edu.cn/simple】即可......