【Python 常用脚本及命令系列 3.2 -- 检测到弹框跳出然后关掉它--脚本实现】

2024-01-10 14:02:56

文章目录

简介

在Python中,你可以使用第三方库如pyautoguipygetwindow来检测屏幕上的弹框并关闭它。这些库可以模拟鼠标和键盘操作,也可以获取窗口信息。 首先,需要安装这些库(如果你还没有安装的话):

pip install pyautogui pygetwindow 

脚本实现

import pygetwindow as gw
import pyautogui
import time

POPUP_TITLE = "J-Link V7.88j Warning"


def check_and_close_popup(popup_title):
        try:
                # 查找弹框
                popup = gw.getWindowsWithTitle(popup_title)[0]
                if popup:
                        # 将弹框置于前台(可选)
                        popup.activate()

                        # 关闭弹框
                        popup.close()
                        print(f"Popup titled '{popup_title}' found and closed.")
        except IndexError:
                # 弹框未找到
                pass
        except Exception as e:
                print(f"An error occurred: {e}")

# 主循环,定期检查弹框
try:
        while True:
                check_and_close_popup(POPUP_TITLE)
                # 等待一段时间再次检查(例如1秒)
                time.sleep(1)
except KeyboardInterrupt:
        print("Script terminated by user.")

请将POPUP_TITLE变量替换为你想要关闭的弹框的确切标题。脚本会周期性地检查这个标题的窗口是否存在,如果存在,就关闭它。 脚本还包含了异常处理,避免因窗口不存在或其他原因导致脚本崩溃。

请注意,这个脚本假设弹框窗口可以通过点击系统的关闭按钮来关闭。如果弹框需要其他特定的操作来关闭(比如点击某个按钮),你可能需要使用pyautogui.click()来模拟点击操作。

此外,定时检查可能不是最高效的方法,因为它可能会错过窗口出现的时刻,或者不必要地消耗资源。更复杂的实现可能涉及到设置系统钩子来监听窗口的创建事件,但这通常需要更深入的操作系统级编程和可能的第三方库支持。

文章来源:https://blog.csdn.net/sinat_32960911/article/details/135488933
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。