赞
踩
pip install --upgrade pywinauto
目录
- from pywinauto.application import Application
- app = Application(bacckend = "uia").start("notpad.exe")
- from pywinauto.application import Application
- app = Application(bacckend = "后端类型").start("程序位置路径") //.strat(r"程序位置路径")
- from pywinauto.application import Application
-
- app = Application("uia").connect(process = 4444) // 进程号
- app = Application("uia").connect(handle = 1904040) // 窗口句柄
- print(app) // 检测
- from pywinauto.application import Application
- app = Application(bacckend = "uia").start("notpad.exe") //打开程序
-
- dlg = app["窗口类名/标题"] //方式一.选择窗口
- dlg = app.窗口类名 //方式二.适合英文软件
-
- dlg.print_control_identifiers() //打印窗口中所有的控件,检测是否选择窗口成功
- from pywinauto.application import Application
- app = Application(bacckend = "uia").start("notpad.exe") //打开程序
- dlg = app["notepad"] //选择窗口
-
- dlg = maximize() //窗口最大化
- dlg = minimize() //窗口最小化
- dlg = restore() //窗口恢复正常大小
-
- status = dlg.get_show_state() //查找窗口显示状态
- print(status) //最大化1、正常0
-
- dlg.close() //关闭窗口
- rect = dlg.rectangle() //获取当前窗口显示坐标
- print(rect) //左,上,右,下
- from pywinauto.application import Application
- app = Application(bacckend = "uia").start("notpad.exe") //打开程序
- dlg = app["notepad"] //选择窗口
-
- dlg.print_control_identifiers() //查看窗口上所有的控件
-
- menu = dlg["Menu"] //选择菜单
- print(menu.print_control_identifiers())
-
- file = menu.child_window(title="文件",control_type="MenuItem") //选择菜单项:文件
- file.print_control_identifiers()
状态栏 | Status Bar | 静态内容 | Static |
按钮 | Button | 复选框 | Check Box |
Radio Button | 组框 | Group Box | |
组合框 | Combo Box | 对话框(窗口) | Dialog |
编辑栏 | Edit | 头部内容 | Header |
列表框 | List Box | 列表显示控件 | List View |
弹出菜单 | Popup Menu | 选项卡控件 | Tab Control |
工具栏 | Tool bar | 工具提示 | Tool Tips |
树状视图 | Tree View | 菜单 | Menu |
菜单项 | Menu Item | 窗格 | Pane |
- from pywinauto.application import Application
- app = Application(bacckend = "uia").start("notpad.exe") //打开程序
- dlg = app["notepad"] //选择窗口
- menu = dlg["Menu"] //选择菜单
- file = menu.child_window(title="文件") //选择菜单项:文件
-
- print(dlg.wrapper_object()) //查看控件类型:wrapper_object
- print(menu.wrapper_object())
- print(file.wrapper_object())
- print(dir(dlg.wrapper_object())) //查看对象所支持的方法:dir
- print(file.texts()) //控件的文本内容获取:texts
- print(dlg.children()) //获取子元素:children
- print(menu.class_name()) //获取控件类名:class_name
-
- print(menu.get_properties()) //获取控件的属性,返回的字典:get_properties(以上属性都会列出)
- from pywinauto.application import Application
- app = Application(bacckend = "uia").start("notpad.exe") //打开程序
- dlg = app["notepad"] //选择窗口
- menu = dlg["Menu"] //选择菜单
- file = menu.child_window(title="文件") //选择菜单项:文件
-
- pic = dlg.capture_as_image() //截图
- print(pic) //打印信息
- pic.save("01.png") //保存截图
- from pywinauto.application import Application
- app = Application(bacckend = "uia").start("notpad.exe") //打开程序
- dlg = app["notepad"] //选择窗口
- menu = dlg["Menu"] //选择菜单
- file = menu.child_window(title="文件") //选择菜单项:文件
-
- // -----菜单控件相关的操作-----
- print(menu.items()) //获取菜单的子菜单项
- m = menu.item_by_index(0) //通过下标去选择菜单项:item_by_index
- print(m)
- n = menu.item_by_path("文件->新建连接") //通过路径去选择菜单项:item_by_path
- print(n)
-
- // -----菜单项的操作方法-----
- file.click_input() //点击菜单项的方法:click_input
- import time
- time.sleep(1) //等待时间
- from pywinauto.application import Application
- app = Application(bacckend = "uia").start("notpad.exe") //打开程序
- dlg = app["notepad"] //选择窗口
- menu = dlg["Menu"] //选择菜单
- file = menu.child_window(title="文件") //选择菜单项:文件
- file.click_input() //点击文件
- menu.item_by_path("文件->新建连接").click_input() //点击新建连接
-
- # 等待窗口处于可见状态
- new_dlg = app["新建连接"] //选择新建连接的窗口
- new_dlg.wait(wait_for="ready",timeout=10,retry_interval=1) //如果状态为'ready',就会执行下一行代码。
-
- # 等待窗口处于不可见状态
- new_dlg.wait_not(wait_for_not="ready",timeout=10,retry_interval=1) //如果状态为'ready',就会执行下一行代码。
- app = Application().connect(process=17260) //连接打开的进程
- app.wait_cpu_usage_lower(threshold=20,timeout=5,usage_interval=1)
- print("等待通过,当前该进程cup占用率低于20%")
- from pywinauto.timings import wait_until
-
- """
- 等函数返回的结果为5的时候,继续往下执行
- """
- i = 0
-
- def work():
- global i
- i += 1
- print("当前i的值为",i)
- return i
-
- # 等待work返回的结果为5,继续往下执行
- wait_until(10,1,work,5)
- print("等待通过")
- """
- 打开笔记本,替换里面的文字。
- """
- import pywinauto
-
- app = pywinauto.Application().start("notepad.exe") //运行程序
- dlg = app["无标题 - 记事本"] //选择主窗口
- dlg.print_contol_identifiers() //获取窗口的控件信息
- dlg["Edit"].type_keys("这里是输入的文字.") //选择编辑框
-
- dlg.menu_select("编辑->替换(R)") //通过菜单选择替换(这个方法,有的程序能用,有的不能用)
- app["替换"].print_control_identifiers() //获取替换窗口的控件信息
-
- app["替换"]["Edit1"].type_keys("666") //选择查找编辑框
- app["替换"]["Edit2"].type_keys("999") //选择替换为编辑框
- app["替换"]["Button3"].click() //选择全部替换按钮,并点击
ESC | VK_ESCAPE(27) | Shift | VK_SHIFT(16) |
回车 | VK_RETURN(13) | Ctrl | VK_CONTROL(17) |
TAB | VK_TAB(9) | Alt | VK_MENU(18) |
Caps Lock | VK_CAPITAL(20) | 空格 | VK_SPACE(32) |
退格 | VK_BACK(8) | 左/右win | VK_LWIN(91) / RWIN(92) |
- send_keys("{VK_LWIN}")
- send_keys("cmd")
- send_keys("{VK_RETURN}")
-
- send_keys("{VK_LWIN}cmd{VK_RETURN}")
- from pywinauto.keyboard import send_keys
-
- send_keys("^a")
- send_keys("^+n")
- send_keys("%+{VK_F9}")
- from pywinauto import mouse
-
- mouse.click(coords=(580,52)) #默认鼠标左键
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。