news 2026/9/23 1:43:22

Python - 操作windows程序窗口

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Python - 操作windows程序窗口

Step1: Pyautoit介绍

● 在自动化测试脚本中,有时候需要自动安装windows程序,或者操作windows程序。对于操作windows程序的python库五花八门,本文以pyautoit库演示如何操作windows程序窗口。

● pyautoit库是AutoItv3工具的python接口,直接绑定到AutoItX3.dll。AutoIt v3工具可以实现通过模拟鼠标、键盘对windows窗口控件进行操作。

Step2: 安装Pyautoit

● 在cmd中输入pip install pyautoit

Step3: Pyautoit常用函数

● 窗口操作:

● run(filename[,work_dir[,show_flag]]): 运行指定程序

filename参数:设置运行的程序的路径和名称

work_dir参数:设置工作路径。默认为windows系统文件夹(C:\Windows)

show_flag参数:设置窗口显示的方式。默认为Properties.SW_SHOWNORMAL(窗口正常显示) 可选值:

○ Properties.SW_HIDE: 表示隐藏窗口

○ Properties.SW_MAXIMIZE: 表示最大化窗口

○ Properties.SW_MINIMIZE: 表示最小化窗口

● run_wait(filename[,work_dir[,show_flag]]): 运行指定程序并暂停脚本执行,直到程序结束

● filename、work_dir、show_flag参数与run函数中的filename、work_dir、show_flag参数相同

● win_close(title): 关闭指定标题的窗口

● win_kill(title): 强制关闭指定标题的窗口

● win_wait(title[, timeout]): 在指定时间内等待指定标题的窗口打开

time_out参数:设置超时时间,单位为秒(s)。默认为0,表示一直等待

● win_wait_active(title[, timeout]):在指定时间内等待指定标题的窗口激活

time_out参数与win_wait_active函数的timeout参数相同

● win_wait_close(title[,timeout]): 在指定时间内等待指定标题的窗口关闭

time_out参数与win_wait函数的timeout参数相同

窗口状态:

● win_active(title): 检查指定标题的窗口是否为激活状态返回值:

○ 1表示窗口已激活

○ 0表示窗口未激活


● win_exists(title): 检查指定标题的窗口是否存在返回值:

○ 1表示窗口已存在

○ 0表示窗口未存在

● win_get_pos(title): 获取指定标题的窗口的位置和尺寸

● 返回值:[x, y, width, height]

控件操作:

● control_set_text(title, control, control_text):在控件中输入普通文本

● control_send(title, control, send_text[, mode]): 在控件中输入字符串

send_text参数:输入普通文本或特殊键

○ !:表示alt键

○ +:表示shift键

○ ^:表示ctrl键

○ :表示win键

○ {键名大写}:表示对应的按键。如{END}表示End键

○ {DELETE 4}:表示按4次Delete键

mode参数:默认为0,表示可输入特殊键。1表示按照字符串原本的意思输入。

● control_click(title, control[,button[, clicks[, x[, y]]]]): 对控件进行点击

button参数:设置点击方式。默认为“left”,还可以设置为"right" or "middle"

clicks参数:设置点击次数。默认为1次

x: 设置点击的水平位置。默认为center(中心)

y: 设置点击的垂直位置。默认为center(中心)

鼠标操作:

● mouse_click([button[, x, y[, clicks[, speed]]]]): 点击鼠标

button参数:设置点击方式。

默认为“left”, 还可以设置为"right", "middle", "main", "menu", "primary", "secondary"

x,y参数:鼠标移动的位置。不传参表示在鼠标当前位置点击

clicks: 设置鼠标点击次数

speed: 设置鼠标移动的速度。默认-1,速度范围为[1, 100],1最快,100最慢

● mouse_move(x, y[, speed])

x、y、speed参数与mouse_click函数中x、y、speed参数相同

键盘操作:

● send(send_text[, mode]): 在当前窗口模拟键盘按键

send_text、mode参数与control_send函数中send_text、mode参数相同

Step4: 案例

最后作为一位过来人也是希望大家少走一些弯路,在这里我给大家分享一些软件测试的学习资料和我花了3个月整理的软件测试自学全栈,这些资料希望能给你前进的路上带来帮助。

视频文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片即可自行领取。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/23 0:44:54

网络安全常见文件上传漏洞,非常详细,看完这篇就够了!

1.文件上传漏洞 1.1. 描述 文件上传漏洞是指由于程序员未对上传的文件进行严格的验证和过滤,而导致的用户可以越过其本身权限,向服务器上传可执行的动态脚本文件。如常见的头像上传,图片上传,oa 办公文件上传,媒体上…

作者头像 李华
网站建设 2026/9/20 17:34:41

YubiKey硬件安全密钥终极配置指南:实现企业级SSH认证与GPG加密

在当今数字安全威胁日益严峻的环境下,传统密码认证已无法满足高安全需求。YubiKey作为硬件安全密钥,提供了物理级别的安全防护,彻底改变SSH认证和GPG加密的使用体验。本指南将带您从零开始,掌握YubiKey在企业级环境中的完整配置方…

作者头像 李华
网站建设 2026/9/23 0:09:55

26、数据备份与灾难恢复全攻略

数据备份与灾难恢复全攻略 在当今数字化时代,数据备份和灾难恢复是保障企业正常运营的关键环节。下面将详细介绍数据备份的相关知识,包括不同备份方式的特点、备份数量的选择、磁带可靠性以及备份安全等方面,同时也会探讨灾难恢复和业务连续性规划的重要性和具体内容。 1.…

作者头像 李华
网站建设 2026/9/23 1:34:42

从零开始:Amazon商品评论数据集完整使用指南

从零开始:Amazon商品评论数据集完整使用指南 【免费下载链接】Amazon商品评论数据集 本仓库提供了一个名为“Amazon商品评论数据集”的资源文件,该数据集包含了丰富的商品评论信息,适用于数据分析、自然语言处理等领域的研究与应用 项目地址…

作者头像 李华
网站建设 2026/9/23 7:35:01

基于Spring Boot+Vue的大学生勤工助学系统

目录 项目介绍 演示视频 系统展示 代码实现 推荐项目 项目开发总结 为什么选择我 源码获取 博主介绍:✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领…

作者头像 李华
网站建设 2026/9/22 20:09:24

爱普生L4150/L4160系列打印机终极清零软件完整使用指南

爱普生L4150/L4160系列打印机终极清零软件完整使用指南 【免费下载链接】爱普生L4150L4160L4151L4153L4156L4158L4163L4166L4167L4168L4169清零软件图解 本仓库提供爱普生L4150、L4160、L4151、L4153、L4156、L4158、L4163、L4166、L4167、L4168、L4169系列打印机的清零软件及详…

作者头像 李华