前言 pywinauto 可以启动电脑自带的应用程序,也可以启动直接安装的应用 启动电脑自带的应用程序 上一篇环境准备,可以启动记事本了 from pywinauto.application import...启动已打开的引用 connect() 在要启动自动化应用程序时使用。...path:进程的可执行文件的路径(GetModuleFileNameEx用于查找每个进程的路径并与传入的值进行比较),例如: app = Application().connect(path=r”c:\windows...*Notepad", class_name="Notepad") 注意: 在使用connect*()之前,应用程序必须准备好。...如果我们想操作一个已经打开的应用程序,可以根据应用的进程号 PID 去操作 先查看应用进程PID 通过connect()方法连接,process参数指定PID from pywinauto.application
前言 Pywinauto 是基于 Python 开发的,用于自动化测试的脚本模块,主要操作于 Windows 标准图形界面。它可以允许你很容易的发送鼠标、键盘动作给 Windows 的对话框和控件。...,我们需确定使用哪种可访问性技术(backend)用于应用程序。...在windows上受支持的有两种: Win32 API (backend= “win32”) ,默认的backend, MFC、VB6、VCL、简单的 WinForms 控件和大多数旧的遗留应用程序 MS...它可以单独复制出来,放在桌面使用。 “ 检查” 窗口包含几个主要部分: 标题栏。显示“ 检查 ”窗口句柄 (HWND) 。 菜单栏。提供对检查功能的访问权限。 工具 栏。提供对检查功能的访问权限。...下图显示了检查查询记事本中“编辑”菜单元素的UI 自动化属性。
前言 pywinauto 操作GUI应用程序上的元素,需先找到指定窗口,基于窗口查找框架再操作。 如何查看窗口信息?...注意: 它返回的是是应用程序的顶级窗口,如果窗口有覆盖的情况,那么你可以使用与传递给findwindows.find_windows()相同的参数,例如 dlg = app.window(title_re...="Page Setup", class_name="#32770") 如果对话框的标题很长 - 那么输入的属性访问可能会很长,在这种情况下通常更容易使用 app.window(title_re="....*部分标题.*") 获取当前应用全部windows dialogs = app.windows() 这将返回应用程序的所有可见,启用的顶级窗口的列表。...总结:推荐使用 app.window(title_re="xxx") 方法操作指定窗口
前言 pywinauto 在查找到多个相同控件时操作会报错,可以使用found_index 选择其中的一个 查找到多个 查找control_type=”MenuBar” 的所有控件 from pywinauto...win.child_window(control_type="MenuBar") print(menu.window_text()) 在获取窗口文本menu.window_text() 时会报错,因为不止找到一个 pywinauto.findwindows.ElementAmbiguousError
前言 pywinauto 操作 MenuItem 菜单项,以及子菜单项。...items() 获取子菜单项 以navicat 为例操作,获取menu菜单项 from pywinauto import Application# 上海悠悠 wx:283340479# blog:https...uia_controls.MenuItemWrapper - '退出', MenuItem, 5740354900026072187>] click_input() 选中菜单 以navicat 为例操作:文件-打开连接 from pywinauto...() 选择子菜单 选择子菜单有2种方式 item_by_path 通过路径,如:文件->打开连接 item_by_index(n) 通过索引 通过索引选择子菜单示例 ```python from pywinauto
前言 pywinauto 组合框控件ComboBox操作 场景 记事本-另存为-编码选择,下图这种就是 组合框控件ComboBox select 选择 官网给的教程是通过select 选择选项...示例 from pywinauto import Application app = Application('uia').start("notepad.exe") win = app.window(...control_type="ComboBox").select("UTF-8") 虽然也能选成功,但是屏幕会闪烁3下 click_input() 点选项 另外一种解决方法思路是先点开选项,再选中里面的选项 from pywinauto
前言 pywinauto 操作鼠标,滚动查看 鼠标点击操作 单击鼠标左键, coords 参数是点击的坐标位置 from pywinauto import mouse# 单击鼠标左键mouse.click...mouse.scroll(coords=(0, 0), wheel_dist=1) 鼠标中键单击指定的坐标 mouse.wheel_click(coords=(0, 0)) 滚动列表 滚动微信聊天记录列表 from pywinauto...import mousefrom pywinauto.application import Applicationfrom pywinauto.keyboard import send_keys# 连接到
前言 pywinauto 使用menu_select()方法操作级联菜单控件。...操作级联菜单 点帮助(H)-关于记事本(A) 操作代码 from pywinauto import Application # 上海悠悠 wx:283340479 # blog:https://www.cnblogs.com
前言 pywinauto 查找窗口和控件时会有超时时间与轮询机制,可以通过timings 模块设置全局等待时间。...default(.1) after_drag_n_drop_wait default(.1) scroll_step_wait default(.1) 设置模式 你想让操作更快一点,可以设置快速模式 from pywinauto.application...import Applicationfrom pywinauto.timings import Timings Timings.fast() 你想让操作更慢一点,可以设置慢速模式 from pywinauto.application...import Applicationfrom pywinauto.timings import Timings Timings.slow()
前言 pywinauto 操作弹出文件选择框,输入名称点保存 场景 点文件-另存为 弹出系统的文件选择框,需要输入文件名称,点保存按钮 文件选择框操作 示例代码
前言 pywinauto 提供了2种等待方法 wait() 等待窗口达到指定状态 wait_not() 等待窗口不处于某种状态 wait() 等待 wait() 相关源码 def wait...Default: :py:attr:`pywinauto.timings.Timings.window_find_timeout`....Default: :py:attr:`pywinauto.timings.Timings.window_find_retry`....表示窗口可见 ‘enabled’ 表示窗口未被禁用 ‘ready’ 表示窗口可见且已启用 ‘active’ 表示窗口处于活动状态 timeout:超时时间 retry_interval:表示重试间隔 使用示例...from pywinauto import Application app = Application('uia').start("notepad.exe") win = app.window(title_re
查看控件类型 wrapper_object() 方法可以查看控件类型 from pywinauto import Application 上海悠悠 wx:283340479...- 记事本', Dialog uia_controls.MenuItemWrapper - '帮助(H)', MenuItem 获取控件文本和class属性 获取文本属性和class属性 from pywinauto...print(m.texts())# 获取class 属性print(win.class_name()) print(m.class_name()) get_properties()获取全部属性 from pywinauto
前言 桌面应用的操作都是基于控件操作,先找到对应的窗口,基于操控查找框架即可操作了。...查看窗口的层级结构 以打开的记事本为例 也可以通过print_ctrl_ids()方法 (另外一个print_control_identifiers() 功能一样)查看当前窗口下的控件 from pywinauto...Button7', '关闭', '关闭Button'] | | child_window(title="关闭", control_type="Button") | | Menu - '应用程序...' (L405, T321, R1898, B340) | ['应用程序', 'Menu2', '应用程序Menu'] | child_window(title="应用程序", auto_id...| child_window(title="文本编辑器", auto_id="15", control_type="Edit") set_text()在编辑器输入:hello world from pywinauto
前言 pywinauto 对窗口和控件截图 capture_as_image() 窗口截图 对连接的窗口截图 from pywinauto import Application app = Application...for capture_as_image 提示PIL 没安装,先安装环境 pip install Pillow 但是截图会有其它窗口的背景会叠加 对控件截图 对 MenuBar 控件截图 from pywinauto...# win.capture_as_image().save('not.png')print(win.print_ctrl_ids()) menu = win.child_window(title="应用程序
前言 pywinauto 操作弹出新窗口上的按钮 操作新窗口 from pywinauto import Application # 上海悠悠 wx:283340479 # blog:https://
前言 pywinauto 快捷键操作,使用send_keys()方法 按键对应的符号 按键名称 对应符号 + 组合按键 按键 对应参数 ctrl+s (保存) ^s ctrl+a (全选) ^...k.run() time.sleep(pause) SendKeys = deprecated(send_keys) 快捷键操作记事本示例 from pywinauto...import Applicationfrom pywinauto.keyboard import send_keys app = Application('uia').start("notepad.exe...title_re="无标题 - 记事本")# ALT+Fsend_keys("%F")# CTR+Ssend_keys("^S") type_keys() 编辑框输入 在编辑框输入键盘操作 from pywinauto...import Applicationfrom pywinauto.keyboard import send_keys app = Application('uia').start("notepad.exe
前言 最近在研究针对windows桌面应用程序的自动化工具,查找了网上相关资料,UI自动化工具很多,但是想同时支持windows桌面应用程序、web端以及APP段的工具少的可怜,以下是一些工具的总结:...pywinauto Pywinauto是实现Windows窗口程序自动化的一把利器,它主要操作于Windows标准图形界面。...在Windows桌面上自动化测试,然后在真实的iOS或Android移动设备或模拟器/模拟器上本地或远程执行它们。并行运行测试以获得快速结果。...然而,自动测试软件一般成本较高而且不易使用,很难在小型公司内推广。TestComplete为Windows、.NET、Java和Web应用程序提供了一个特性全面的自动测试环境。...TestComplete测试具有系统化、自动化和结构化特性,支持.NET,Java,Visual C++, Visual Basic, Delphi, C++Builder和web应用程序。
前言 前面学了pywinauto 基础操作手,总不能老拿记事本练手,是时候找个常用的应用实战了,比如用微信实现自动发消息。...连上微信 先自己登录微信,打开窗口, 用connect 连上微信窗口 from pywinauto.application import Applicationfrom pywinauto.keyboard...(title="微信", class_name='WeChatMainWndForPC') 给联系人发消息 先从消息列表找到联系人 然后输入框输入内容,按enter发搜 示例代码 from pywinauto.application...import Applicationfrom pywinauto.keyboard import send_keys# 连接到wxapp = Application(backend='uia').connect
一、写在前面 以前写windows桌面应用首选用C#,当然是最好用的解决方案之一。...这些年用java,才发现着实费劲,最近这些年随着硬件的能力提升,使用H5开发各种移动应用,桌面应用的方法也逐渐变得可行。本文记载了我用JCEF开发windows桌面应用的一种方法。...它是 CEF 在Java语言的实现。它基于 Chromium 嵌入式框架 (CEF),允许您将 Web 浏览器嵌入到 Java Swing 桌面应用程序中。...3、打出的jar 启动后,即启动一个内嵌的浏览器,展示界面,同时也是Java 程序。 二、使用 简单省事的方式是使用maven 来集成.....*; import java.awt.*; import java.awt.event.*; import java.io.IOException; public class MainFrame extends
最近公司开发了一款基于PC端的桌面应用程序,需要进行自动化测试,避免重复的点工。为此,也在网上找了一些资料,都不符合当前需求,最终决定参考网上资料,使用python语言去实现。...一、起因 1、桌面应用程序的控件在程序上经过特殊处理,无法识别出控件内容 二、实现思路 1、通过录制、回放去实现自动化测试 2、通过坐标定位,点击模拟鼠标和键盘操作 (以上两种操作,均使用python...Pywinauto是基于Python开发的一个库,可用于自动化测试的一个很有用的脚本模块,主要用于操作Windows标准图形界面。...同时pywin32也是绝大部分windows上第三方python模块库的前提,例如wmi,如果没有安装pywin32是无法正常使用wmi这个三方模块库的。...安装方法:pip install pynput lackey Lackey 是Sikuli脚本的一个实现,使用图像识别来控制复杂的和非 os 标准的业务应用程序。
领取专属 10元无门槛券
手把手带您无忧上云