当前位置: 首页 > article >正文

PyAutoGUI 第3章 弹窗交互功能教程(GUI交互,核心3)

PyAutoGUI 弹窗交互功能教程GUI交互核心3说明本教程为 PyAutoGUI 核心操作专项教程聚焦 GUI 弹窗交互功能涵盖各类弹窗的使用方法、参数配置、返回值判断结合实操代码和场景示例适配新手入门可直接复制代码调试运行。所有操作均基于 PyAutoGUI 基础环境已安装完成若未安装可参考基础教程完成环境配置。3.1 警告弹窗 alert()警告弹窗是最基础的弹窗类型主要用于显示提示信息、警告内容仅包含一个“确认”按钮用户点击确认后弹窗关闭无返回值或返回 None适用于告知用户操作结果、异常提示等场景。1. 核心方法pyautogui.alert(text, title, buttonOK)作用弹出一个包含提示文本、标题和确认按钮的警告弹窗用户点击按钮后弹窗关闭。参数说明text必传参数弹窗中显示的提示内容字符串格式可换行用 n 实现title可选参数弹窗的标题字符串格式默认为空字符串无标题button可选参数确认按钮上的文字字符串格式默认为 OK可自定义按钮文字。示例代码基础使用自定义配置importpyautoguiimporttime# 基础配置提升脚本稳定性pyautogui.PAUSE1pyautogui.FAILSAFETrue# 1. 基础警告弹窗默认标题、默认按钮文字pyautogui.alert(操作完成,title提示,button确认)# 2. 自定义按钮文字、换行提示time.sleep(1)pyautogui.alert(text警告当前操作可能导致数据丢失n请确认是否继续,title警告提示,button我知道了)# 3. 结合前序操作显示结果提示如文件复制完成time.sleep(1)print(文件复制中...)time.sleep(2)# 模拟文件复制耗时pyautogui.alert(文件复制完成,title操作成功,button关闭)2. 注意事项警告弹窗无返回值无论用户点击按钮仅一个按钮弹窗关闭后脚本继续执行文本内容中的 n 可实现换行让提示信息更清晰避免内容过长导致弹窗显示异常按钮文字建议简洁明了如“确认”“关闭”“知道了”避免过长影响弹窗美观。3.2 确认弹窗 confirm()确定/取消返回选择结果确认弹窗包含“确定”和“取消”两个按钮用户点击不同按钮会返回对应的结果字符串格式核心用于需要用户确认的操作如删除文件、覆盖内容脚本可根据返回值判断后续执行逻辑灵活度更高。1. 核心方法pyautogui.confirm(text, title, buttons[OK, Cancel])作用弹出包含提示文本、标题和两个或多个按钮的确认弹窗用户点击某个按钮后弹窗关闭并返回该按钮的文字。参数说明text必传参数弹窗提示内容字符串格式可换行title可选参数弹窗标题默认空字符串buttons可选参数按钮文字列表默认 [OK, Cancel]可自定义按钮数量和文字如 [确认, 取消, 跳过]。返回值说明用户点击哪个按钮就返回该按钮的文字如点击“确定”返回 确定点击“取消”返回 Cancel可用于判断后续操作。示例代码基础使用返回值判断importpyautoguiimporttime pyautogui.PAUSE1pyautogui.FAILSAFETrue# 1. 基础确认弹窗默认按钮OK、Cancelresultpyautogui.confirm(是否删除当前文件,title确认操作)print(f用户选择{result})# 打印返回值方便调试# 2. 根据返回值判断后续操作time.sleep(1)ifresultOK:print(执行删除操作...)# 此处可添加删除文件的代码结合前两章的键盘/鼠标操作pyautogui.alert(文件删除完成,title操作结果)else:print(取消删除操作)pyautogui.alert(已取消删除文件保留,title操作取消)# 3. 自定义按钮3个按钮time.sleep(1)custom_resultpyautogui.confirm(text请选择操作模式,title模式选择,buttons[手动模式,自动模式,退出])ifcustom_result手动模式:pyautogui.alert(已切换至手动模式,title模式切换)elifcustom_result自动模式:pyautogui.alert(已切换至自动模式,title模式切换)else:pyautogui.alert(即将退出程序,title退出提示)2. 注意事项按钮列表 buttons 可自定义数量至少1个但建议不超过3个避免弹窗过于拥挤返回值严格对应按钮文字大小写、空格需完全一致判断时需注意字符串匹配避免出错若用户关闭弹窗点击右上角叉号返回值为 None建议在脚本中添加对 None 的判断避免报错。3.3 文本输入弹窗 prompt()获取用户输入文本文本输入弹窗包含一个输入框、“确定”和“取消”按钮用户可在输入框中输入文本点击按钮后弹窗关闭并返回输入的内容或 None适用于需要获取用户输入的场景如输入文件名、账号信息。1. 核心方法pyautogui.prompt(text, title, default)作用弹出包含提示文本、标题、输入框和确认/取消按钮的弹窗获取用户输入的文本并返回。参数说明text必传参数弹窗提示内容告知用户需要输入什么title可选参数弹窗标题default可选参数输入框中的默认文本字符串格式用户可直接使用或修改默认为空字符串。返回值说明点击“确定”返回输入框中的文本若未修改默认文本返回默认值点击“取消”或关闭弹窗返回 None。示例代码基础使用输入值判断importpyautoguiimporttime pyautogui.PAUSE1pyautogui.FAILSAFETrue# 1. 基础文本输入弹窗无默认值file_namepyautogui.prompt(text请输入文件名无需后缀,title输入文件名)# 2. 判断输入结果执行对应操作time.sleep(1)iffile_nameisnotNone:# 排除用户取消/关闭弹窗的情况iffile_name.strip():# 判断用户是否输入空文本pyautogui.alert(文件名不能为空,title输入错误)else:print(f用户输入的文件名{file_name})pyautogui.alert(f文件将以「{file_name}.txt」保存,title确认保存)else:pyautogui.alert(已取消输入操作终止,title操作取消)# 3. 带默认值的输入弹窗简化用户输入time.sleep(1)user_namepyautogui.prompt(text请输入您的用户名,title用户登录,defaulttest_user# 默认用户名)ifuser_nameisnotNone:pyautogui.alert(f欢迎您{user_name},title登录成功)else:pyautogui.alert(登录取消,title提示)2. 注意事项输入框仅支持文本输入英文、中文、数字、符号均可无法限制输入类型需在脚本中自行判断输入内容的合法性若用户输入空格strip() 方法可去除前后空格避免因误输入空格导致后续操作异常建议对返回值为 None 的情况进行判断避免脚本因获取不到输入值而报错。3.4 密码输入弹窗 password()隐藏输入内容密码输入弹窗与文本输入弹窗功能类似区别在于用户输入的内容会被隐藏显示为星号 * 或圆点 •适用于需要输入密码、验证码等敏感信息的场景保护用户隐私。1. 核心方法pyautogui.password(text, title, default, mask*)作用弹出包含提示文本、标题、密码输入框和确认/取消按钮的弹窗获取用户输入的敏感信息输入内容会被隐藏。参数说明text必传参数弹窗提示内容如“请输入密码”title可选参数弹窗标题default可选参数输入框默认文本默认空字符串不建议设置密码默认值mask可选参数隐藏输入内容的字符默认 *可改为 • 等其他字符。返回值说明与 prompt() 一致点击“确定”返回输入的密码明文点击“取消”或关闭弹窗返回 None。示例代码密码输入验证逻辑importpyautoguiimporttime pyautogui.PAUSE1pyautogui.FAILSAFETrue# 1. 基础密码输入弹窗默认星号隐藏passwordpyautogui.password(text请输入您的密码,title密码验证,mask*# 输入内容显示为星号)# 2. 密码验证逻辑模拟登录验证time.sleep(1)correct_password123456# 模拟正确密码实际场景中需加密存储ifpasswordisnotNone:ifpasswordcorrect_password:pyautogui.alert(密码正确登录成功,title验证通过)# 此处可添加登录后的操作如打开软件、跳转页面else:pyautogui.alert(密码错误请重新输入,title验证失败)else:pyautogui.alert(已取消密码输入登录终止,title操作取消)# 3. 自定义隐藏字符改为圆点 •time.sleep(1)verification_codepyautogui.password(text请输入验证码,title验证码验证,mask•)ifverification_codeisnotNoneandverification_code6789:pyautogui.alert(验证码正确,title验证通过)else:pyautogui.alert(验证码错误或取消输入,title验证失败)2. 弹窗标题、内容、按钮文字自定义补充所有弹窗的标题、提示内容、按钮文字均可灵活自定义适配不同场景需求总结如下标题title建议简洁明了体现弹窗用途如“密码验证”“输入提示”避免过长提示内容text清晰告知用户操作目的或输入要求可使用 n 换行提升可读性按钮文字button/buttonsalert()单个按钮建议用“确认”“关闭”“知道了”等confirm()多个按钮建议用“确定/取消”“是/否”等对立文字便于用户选择prompt()/password()默认“确定/取消”无需刻意修改保持用户习惯。3. 弹窗返回值判断逻辑总结所有弹窗的返回值是脚本判断后续操作的核心需熟练掌握不同弹窗的返回值规则避免报错alert()无返回值或返回 None无需判断弹窗关闭后脚本直接继续执行confirm()返回用户点击的按钮文字字符串点击叉号返回 None需判断不同返回值执行对应逻辑prompt()返回用户输入的文本字符串点击取消/叉号返回 None需判断是否为 None 及输入内容合法性password()与 prompt() 一致返回输入的明文密码需注意密码验证逻辑及隐私保护实际场景中避免打印密码。3.5 弹窗交互实战综合场景应用结合本章所有弹窗操作编写一个综合实战脚本实现“弹窗提示 → 确认操作 → 输入信息 → 密码验证 → 结果反馈”的完整流程模拟软件登录操作确认的日常场景。实战需求弹出警告弹窗提示用户“即将进入登录界面”弹出确认弹窗询问用户“是否继续登录”若用户选择“继续”弹出文本输入弹窗获取用户名弹出密码输入弹窗获取密码验证用户名和密码弹出对应提示成功/失败若用户选择“取消”弹出提示弹窗终止操作。完整实战代码importpyautoguiimporttime# 基础配置pyautogui.PAUSE1pyautogui.FAILSAFETrue# 1. 警告弹窗提示即将进入登录界面pyautogui.alert(text欢迎使用本软件n即将进入登录界面请准备好账号密码,title欢迎提示,button进入登录)# 2. 确认弹窗询问是否继续登录login_confirmpyautogui.confirm(text是否继续登录,title登录确认,buttons[继续,取消])# 3. 根据确认结果执行后续操作iflogin_confirm继续:# 3.1 文本输入弹窗获取用户名user_namepyautogui.prompt(text请输入您的用户名,title输入用户名,defaultuser)# 判断用户名输入情况ifuser_nameisNoneoruser_name.strip():pyautogui.alert(用户名不能为空登录终止,title输入错误)else:# 3.2 密码输入弹窗获取密码passwordpyautogui.password(text请输入您的密码,title输入密码,mask*)# 3.3 验证用户名和密码模拟验证correct_nameadmincorrect_pwdadmin123ifpasswordisnotNoneanduser_namecorrect_nameandpasswordcorrect_pwd:pyautogui.alert(f登录成功欢迎您{user_name},title登录成功)# 模拟登录后的操作弹出操作提示time.sleep(1)pyautogui.alert(登录后可进行文件管理、数据查看等操作,title操作提示)else:pyautogui.alert(用户名或密码错误登录失败,title验证失败)else:# 用户选择取消登录pyautogui.alert(已取消登录程序即将退出,title操作取消)print(弹窗交互综合实战完成)实操注意事项弹窗操作会阻塞脚本执行只有用户点击弹窗按钮或关闭弹窗脚本才会继续执行需合理设置 PAUSE 间隔避免操作过快密码输入弹窗返回的是明文密码实际开发中需对密码进行加密处理如 MD5 加密避免明文存储或打印保护用户隐私需充分考虑用户的异常操作如关闭弹窗、输入空文本添加对应的判断逻辑避免脚本报错弹窗的标题、内容、按钮文字需贴合场景语言简洁易懂提升用户体验若弹窗无法正常显示需检查 PyAutoGUI 环境是否安装完整或重启脚本尝试。拓展提示弹窗交互可与前两章的键盘、鼠标操作结合实现更复杂的自动化场景比如弹窗提示用户确认后自动执行鼠标点击、键盘输入操作验证密码成功后自动打开指定软件、填写表单等。只需在弹窗返回值判断后添加对应的键盘/鼠标操作代码即可。

相关文章:

PyAutoGUI 第3章 弹窗交互功能教程(GUI交互,核心3)

PyAutoGUI 弹窗交互功能教程(GUI交互,核心3) 说明:本教程为 PyAutoGUI 核心操作专项教程,聚焦 GUI 弹窗交互功能,涵盖各类弹窗的使用方法、参数配置、返回值判断,结合实操代码和场景示例&#x…...

如何用Seraphine实现终极英雄联盟BP自动化:告别手忙脚乱的对局准备

如何用Seraphine实现终极英雄联盟BP自动化:告别手忙脚乱的对局准备 【免费下载链接】Seraphine 英雄联盟战绩查询工具 项目地址: https://gitcode.com/gh_mirrors/se/Seraphine 你是否曾在排位赛中因为错过对局接受而懊恼不已?是否在BP阶段面对眼…...

别再搞混了!C++里printf和setprecision控制小数位,到底有啥区别?

别再搞混了!C里printf和setprecision控制小数位,到底有啥区别? 在财务系统开发中,一个工程师因为混淆了printf和setprecision的精度控制逻辑,导致公司报表出现数百万的误差。这个真实案例揭示了C数值格式化中一个关键但…...

Vue3项目实战:5分钟给你的后台管理系统加上动态实时水印(支持暗黑模式)

Vue3动态水印实战:5分钟打造智能防泄密系统 在数字化办公时代,敏感数据保护已成为企业管理系统的刚需。某金融科技公司的前端团队曾发现,内部系统截图在外泄后无法追踪来源,导致三个月内发生两次商业信息泄露事件。而引入动态水印…...

机器学习评估指标全解析:从原理到Python实战

1. 机器学习算法评估指标全景解读在数据科学项目中,选择合适的评估指标往往比模型选择本身更重要。想象一下这样的场景:你花费两周时间优化了一个准确率达到95%的欺诈检测模型,上线后却发现漏掉了80%的真实欺诈案例——这就是错误选择评估指标…...

AI结对编程实战:双智能体架构如何解决代码生成幻觉问题

1. 项目概述:当AI开始结对编程如果你和我一样,每天都要和代码打交道,那你肯定对“AI编程助手”这个概念不陌生。从最初的代码补全,到后来的对话式编程,AI确实帮我们省了不少敲键盘的功夫。但不知道你有没有遇到过这种情…...

自媒体用DeepSeek V4写文案,2026年4月去i迹还原人味

凌晨两点,做美食号的小朋友给我发了条语音,说她用 DeepSeek V4 写的小红书文案,发了三条全部限流,平台后台提示"内容疑似AI生成"。她以为是选题问题,换了三个角度还是不行。我让她把文案发给我看了一眼&…...

突破性解决方案:feishu2md实现飞书文档与Markdown的无缝双向转换

突破性解决方案:feishu2md实现飞书文档与Markdown的无缝双向转换 【免费下载链接】feishu2md 一键命令下载飞书文档为 Markdown(寻找维护者) 项目地址: https://gitcode.com/gh_mirrors/fe/feishu2md 在跨国协作日益频繁的今天&#x…...

逆向实战:从mtgsig3.0签名算法看美团外卖App的移动端安全加固策略

1. mtgsig3.0签名算法的核心机制 美团外卖App的mtgsig3.0签名算法是典型的移动端安全加固方案,它通过多层加密和动态校验机制来确保请求的合法性和数据安全性。这个签名算法主要运行在Native层,相比Java层具有更高的安全性和反逆向能力。 签名算法的核心…...

04-08-10 结论与总结 (Conclusion)

04-08-10 结论与总结 (Conclusion) 章节概述 本章总结《技术人修炼之道》的核心内容,梳理技术管理的成长路径,提供持续学习的建议,并展望技术管理的未来趋势。 技术管理成长路径回顾 完整的管理阶梯 个人贡献者(Individual Co…...

Windows 一键自动加入企业 AD 域的批处理脚本

一、脚本整体作用 这是一段Windows 一键自动加入企业 AD 域的批处理脚本,无需运维手动打开系统属性、一步步点击加域,全程图形化文字交互、自动调用 PowerShell 执行域加入命令、自动判断加域结果,失败可重试,适合企业运维批量部署办公电脑。 二、逐段代码逻辑解析 1. 基…...

AI代理模型在CAE仿真中的革命性应用

1. 工程仿真领域的AI革命:从传统CAE到智能代理模型作为一名在CAE领域摸爬滚打十年的工程师,我亲眼见证了仿真技术从单核工作站到分布式计算的演进。但直到AI技术真正融入仿真流程,才体会到什么叫"降维打击"。传统CFD仿真一个汽车外…...

FanControl深度技术解析:基于插件架构的Windows散热控制系统优化方案

FanControl深度技术解析:基于插件架构的Windows散热控制系统优化方案 【免费下载链接】FanControl.Releases This is the release repository for Fan Control, a highly customizable fan controlling software for Windows. 项目地址: https://gitcode.com/GitH…...

随机森林在房地产价格预测中的实战应用

1. 从单棵树到森林:集成方法在房地产价格预测中的进阶应用在数据科学和机器学习领域,树模型因其直观性和强大性能而广受欢迎。特别是在房地产价格预测这类结构化数据的回归任务中,从简单的决策树到复杂的随机森林,集成方法展现了惊…...

别再只盯着SIFT和ORB了!用R2D2在Python里实现更鲁棒的特征点匹配(附完整代码)

超越传统特征匹配:用R2D2实现高鲁棒性视觉定位的Python实战 在计算机视觉领域,特征点检测与匹配一直是许多应用的核心技术,从增强现实到自动驾驶,从图像拼接到物体识别。传统方法如SIFT和ORB虽然经典,但在处理季节变化…...

OpenClaw智能体的涌现与异化——复杂系统演化、知识权力重构与文明纪元跃迁(第五篇)

OpenClaw智能体的涌现与异化——复杂系统演化、知识权力重构与文明纪元跃迁(第五篇)摘要历经前四篇从技术解构、生态经济、微观政治到行动智能范式的层层剥茧,我们对OpenClaw的认知已从“爆火的开源工具”深入至“权力与信任重组的实验场”。…...

C语言基础-基本数据类型(2)

一. 变量1.1 变量的存储变量根据其所属数据类型的大小,在内存中开辟空间。变量也是可变的。eg:结果:注意:当创建变量不初始化时,系统会自动初始化成随机值这里的随机值是01.2各种类型的变量1.2.1 整型变量注意:int类型…...

解码器专用Transformer模型构建与Llama系列优化实践

1. 从零构建类Llama-2/3的解码器专用Transformer模型在自然语言处理领域,Transformer架构已经成为大语言模型(LLM)的基础。与传统seq2seq Transformer不同,现代LLM如Llama系列采用了解码器专用(decoder-only&#xff0…...

VSCode农业插件生态白皮书首发:覆盖23类农用设备协议(Modbus-RTU/ISOBUS/NMEA 0183),仅限首批500名涉农开发者领取

更多请点击: https://intelliparadigm.com 第一章:VSCode农业插件生态概览与白皮书解读 随着智慧农业与边缘计算在田间地头的深度落地,开发工具链正悄然向农业生产场景延伸。VSCode 作为轻量、可扩展的主流编辑器,已逐步构建起面…...

VSCode嵌入式开发效率提升300%的7个隐藏技巧:从Cortex-M启动文件自动补全到RTOS任务可视化调试

更多请点击: https://intelliparadigm.com 第一章:VSCode嵌入式开发效率跃迁的底层逻辑 VSCode 并非原生嵌入式 IDE,其效率跃迁源于可编程扩展架构与标准化协议的深度协同。核心驱动力在于 Language Server Protocol(LSP&#xf…...

ARM A64指令集解码与SIMD浮点优化指南

1. ARM A64指令集架构概述ARM A64指令集作为ARMv8-A和ARMv9-A架构的64位执行状态核心,为现代计算设备提供了强大的指令集支持。与传统的32位ARM指令集相比,A64在寄存器数量、寻址能力和指令编码等方面都有显著改进。其中,Advanced SIMD&#…...

【独家逆向分析】VSCode 2026 Copilot++推理链断点追踪:3步定位AI生成代码逻辑污染源(附vscode-insiders调试秘钥)

更多请点击: https://intelliparadigm.com 第一章:VSCode 2026 Copilot推理链污染的根因判定准则 Copilot 在 VSCode 2026 中引入了多跳推理链(Multi-Hop Reasoning Chain, MHRC)机制,但当用户连续触发建议、快速编辑…...

推荐 win11 可用的 SVN 版本:64位,下载最新的 TortoiseSVN 1.14.x 版本

【Win11兼容SVN工具推荐】推荐使用64位TortoiseSVN 1.14.x最新版本,完美适配Win11系统。该工具直接集成到资源管理器,提供右键快捷操作,完全免费且支持中文界面。安装时需注意:选择对应系统位数的安装包(推荐64位&…...

【信创开发环境重建必读】:为什么你的VSCode在中标麒麟上总崩溃?3个内核级配置参数正在 silently 杀死调试会话

更多请点击: https://intelliparadigm.com 第一章:信创开发环境重建的底层逻辑与风险图谱 信创开发环境重建并非简单的软件替换或镜像迁移,而是对CPU架构、操作系统内核、编译工具链、安全模块及国产中间件依赖关系的系统性重校准。其底层逻…...

DeepSeek V4正式发布,昇腾超节点系列产品全面支持

2026年4月24日,DeepSeek V4-Pro和DeepSeek V4-Flash正式发布并开源,模型上下文处理长度由原有的128K显著扩展至1M,首次增加了KV Cache滑窗和压缩算法,大幅减少Attention计算和访存开销,并通过模型架构创新更好地支持了…...

API 批量纯代付接口

合规第三方纯代付通道,企业充值备付金后批量下发对公、对私账户,支持海量笔数代付,实时到账。计费:单笔固定:1~3 元 / 笔比例计费:0.15%1 元~0.4%2 元 / 笔费率可按业务规模、行业灵活调整。...

HX711数据不稳定问题

根本原因:PC14/PC15 是 STM32F1 的 OSC32 晶振引脚,即使不启用 LSE,这两个引脚也受备份域保护,有以下严重限制: 最大输出频率仅 3MHz(无法可靠驱动 SCK) 驱动能力极弱(最大灌电流仅 …...

7种配色+百变空间+全系ADS 4.1:问界M6的“新锐”不止一面

文 | 雄墨年轻人想要一台怎样的SUV?有人要个性,开出去不能被淹没在车流里;有人要能装,周末骑车、露营、搬家的需求全都要满足;有人要聪明,智驾不能比手机落后。以前,这些需求被分散在不同车型里…...

AI分子对接

一、蛋白互作的生物学意义蛋白质-蛋白质相互作用(Protein-Protein Interactions, PPIs)在生物体内具有极其重要的生物学意义,主要体现在以下几个方面:(1)细胞信号传导。细胞通过受体蛋白与信号分子结合&…...

Dify同时接入DeepSeek和Ollama:云端省钱+本地隐私,一个应用随便切

🌟🌌 欢迎来到知识与创意的殿堂 — 远见阁小民的世界!🚀 🌟🧭 在这里,我们一起探索技术的奥秘,一起在知识的海洋中遨游。 🌟🧭 在这里,每个错误都…...