Mrli
别装作很努力,
因为结局不会陪你演戏。
Contacts:
QQ博客园

PyWinAuto使用

2020/11/07 Python 自动化运维
Word count: 589 | Reading time: 3min

PyWinAuto使用

简单操作示例:

1
2
app = application.Application().start(r'C:\Program Files (x86)\Google\Chrome\Application\chrome.exe')
# app = application.Application().start('notepad.exe')

(一) 判断程序的backend

注意,首先需要判断你要进行的程序是用什么语言写的,在实例化的时候会有区别,主要是判断backend是什么。

(二)确定自动化入口点

这里主要是限制自动化控制进程的范围。如一个程序有多个实例,自动化控制一个实例,而保证其他实例(进程)不受影响。
主要有两种对象可以建立这种入口点——Application() , Desktop().

  • Application的作用范围是一个进程,如一般的桌面应用程序都为此类。
  • Desktop的作用范围可以跨进程。主要用于像win10的计算器这样包含多个进程的程序。这种目前比较少见。使用方法见entry-points-for-automation

(三)连接到进程

建立好入口后,我们需要连接到进程中。这里有两种方法:

  • 使用Application对象的start()方法

app = Application().start(r"D:\Program Files (x86)\tlxsoft\屏幕录像专家 共享版 V2017\屏录专家.exe")

  • 连接到已有的进程。使用Application对象的connect()方法。这个方法对已有进程的绑定非常灵活。

app = Application().connect(process=19188)

  • 使用窗口句柄绑定

app = Application().connect(handle=0x00230DB6)

  • 使用程序路径绑定★

app = Application().connect(path=r"D:\Program Files (x86)\tlxsoft\屏幕录像专家 共享版 V2017\屏录专家.exe")

  • 使用标题、类型等匹配★★(灵活性比较高)

app = Application().connect(title_re="屏幕录像专家.*", class_name="TMainForm")


菜单操作

1
2
dlg_spec = app.window(title='屏幕录像专家 V2017')
dlg_spec.menu_select(r"转换工具->EXE/LXE转成MP4")

快捷键操作

1
2
dlg_spec = app.window(title='屏幕录像专家 V2017')
dlg_spec.type_keys('%TP')
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
SHIFT                            +      
CTRL ^
ALT %
空格键 {SPACE}

BACKSPACE {BACKSPACE}、{BS} or {BKSP}
BREAK {BREAK}
CAPS LOCK {CAPSLOCK}
DEL or DELETE {DELETE} or {DEL}
DOWN ARROW {DOWN}
END {END}
ENTER {ENTER} or ~
ESC {ESC}
HELP {HELP}
HOME {HOME}
INS or INSERT {INSERT} or {INS}
LEFT ARROW {LEFT}
NUM LOCK {NUMLOCK}
PAGE DOWN {PGDN}
PAGE UP {PGUP}
PRINT SCREEN {PRTSC}
RIGHT ARROW {RIGHT}
SCROLL LOCK {SCROLLLOCK}
TAB {TAB}
UP ARROW {UP}
+ {ADD}
- {SUBTRACT}
* {MULTIPLY}
/ {DIVIDE}
F1 {F1}
F2 {F2}
F3 {F3}
.....
F15 {F15}
F16 {F16}

参考

pywinauto 使用

[python自动化工具之pywinauto](https://www.cnblogs.com/mapu/p/9235587.html)

Author: Mrli

Link: https://nymrli.top/2019/05/27/PyWinAuto使用/

Copyright: All articles in this blog are licensed under CC BY-NC-SA 3.0 unless stating additionally.

< PreviousPost
DigitalOcean VPS注册
NextPost >
Google Colab使用
CATALOG
  1. 1. PyWinAuto使用
    1. 1.1. (一) 判断程序的backend
    2. 1.2. (二)确定自动化入口点
    3. 1.3. (三)连接到进程
    4. 1.4. 菜单操作
    5. 1.5. 快捷键操作
    6. 1.6. 参考