【PYTHON】模块函数之pywinauto PC 端的自动化(笔记)

pip install --upgrade pywinauto

目录

P1 自动化的切入点

P2 程序检查辅助工具

P3 打开指定程序

P4 连接已经打开的程序

P5 选择应用程序的窗口

P6 应用程序的窗口操作方法

P7 窗口空间的相关操作

P8 窗口的分类

P9 窗口控件属性的获取

P10 窗口及控件截图处理

P11 菜单控件的相关操作

P12 Pywinauto的等待机制

P13 编辑类控件的基本操作

P14 模拟用户键盘操作

P15 模拟鼠标操作


P1 自动化的切入点

  • 确定应用程序的可访问技术

    • Win32 API (backend = "win32") - 默认的backend
      • MFC,VB6,VCL,简单的WinFOrms空间和大多数旧的应用程序
    • MS UI Automation API(backend = "uia")
      • WinForms,WPF,Store apps,Qt5,浏览器
  • 启动应用程序

    • Application:作用范围是一个进程。
    • Desktop:作用范围可以跨程序。

P2 程序检查辅助工具

  • Inspect.exe(C:\Program Files\Windows Kits\10\bin\x64)
  • spy++.exe:能显示程序所有控件,即适合使用win32的backend。
  • ViewWizard:(窗口信息查看精灵)
  • Aibote Windows Tool:纯代码RPA办公自动化框架,支持Android、Browser和Windows 三大平台。

P3 打开指定程序

打开记事本

from pywinauto.application import Application
app = Application(bacckend = "uia").start("notpad.exe")

打开任意的windows程序

from pywinauto.application import Application
app = Application(bacckend = "后端类型").start("程序位置路径") //.strat(r"程序位置路径")

P4 连接已经打开的程序

  • 通过进程号去进行连接

    • 任务管理器 详细信息 PID
  • 通过窗口句柄进行连接

    • ViewWizard(窗口信息查看精灵)
from pywinauto.application import Application

app = Application("uia").connect(process = 4444)    // 进程号
app = Application("uia").connect(handle = 1904040)    // 窗口句柄
print(app)    // 检测

P5 选择应用程序的窗口

  • 根据窗口标题或类名选择
    • dlg = app[窗口类名/标题]
  • 根据窗口类名选择窗口
    • dlg = app.窗口类名
from pywinauto.application import Application
app = Application(bacckend = "uia").start("notpad.exe")    //打开程序

dlg = app["窗口类名/标题"]    //方式一.选择窗口
dlg = app.窗口类名    //方式二.适合英文软件

dlg.print_control_identifiers()    //打印窗口中所有的控件,检测是否选择窗口成功

P6 应用程序的窗口操作方法

from pywinauto.application import Application
app = Application(bacckend = "uia").start("notpad.exe")    //打开程序
dlg = app["notepad"]    //选择窗口

dlg = maximize()    //窗口最大化
dlg = minimize()    //窗口最小化
dlg = res
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值