python自动化工具之pywinauto_python自动化工具之pywinauto(二)

python自动化工具之pywinauto(二)python自动化工具之pywinauto二

pywinauto的使用各控件的操作

如何匹配控件

如何操作控件

pywinauto的使用——各控件的操作对于常见的窗口程序,需要点点填填的控件有输入框(Edit)、按钮(Button)、复选框(CheckBox)、单选框(RadioButton)、下拉列表(ComboBox).

关于各个控件的函数方法,可以查阅官网 Methods available to each different control type

下面结合程序讲一下各个控件的用法。

要进行文件格式转换,一般需要三步:

1. 选择源文件

2. 转换参数配置

3. 选择输出文件位置

在这里,就是现在文件名后面的编辑框中填入源文件的位置,然后勾选自动扩帧复选框,然后点击转换按钮,最后会弹出一个另存为的文件对话框来选择目标文件位置。

目的明确了,接下来就是如何干的问题了。分两步:

1. 找到控件

2. 操作控件

如何让程序找到控件呢?

如何匹配控件最简单的方法就是通过空间特征进行匹配。窗体也可以看成是一个大控件。匹配窗口的方法除了前面提到的window()方法,还可以通过中括号加窗口名。如:

dlg_spec = app.window(title=r'EXE/EXE 转 MP4') # 1

dlg_spec = app[r'EXE/EXE 转 MP4'] # 2

除了title,还可以使用class或者title+class或者相近的text和类来匹配控件。

另外一种方法就是我们知道了这个程序的层次结构,然后类似寻到DOM元素一样一层一层的匹配。

那么如何找到这个层次结构呢。pywinauto提供了print_control_identifiers()函数来显示该窗体下所有控件的结构。

dlg_spec = app[r'EXE/EXE 转 MP4']

dlg_spec.print_control_identifiers()

输出如下:

Control Identifiers:

TEXE2FLVForm - 'EXE/EXE 转 MP4' (L202, T55, R496, B562)

['EXE/EXE 转 MP4TEXE2FLVForm', 'TEXE2FLVForm', 'EXE/EXE 转 MP4']

child_window(title="EXE/EXE 转 MP4", class_name="TEXE2FLVForm")

|

| TTrackBar - '' (L273, T189, R470, B204)

| ['TTrackBar', '下载安装相关视频编码器TTrackBar']

| child_window(class_name="TTrackBar")

|

| TGroupBox - '图像缩小输出时处理方法' (L212, T460, R483, B522)

| ['图像缩小输出时处理方法', 'TGroupBox', '图像缩小输出时处理方法TGroupBox', 'TGroupBox0', 'TGroupBox1']

| child_window(title="图像缩小输出时处理方法", class_name="TGroupBox")

| |

| | RadioButton - '部分画面鼠标自动跟随(动态显示光标附近图像)' (L232, T501, R470, B515)

| | ['RadioButton', '部分画面鼠标自动跟随(动态显示光标附近图像)RadioButton', 'RadioButton1', '部分画面鼠标自动跟随(动态显示光标附近图像)', 'RadioButton0']

| | child_window(title="部分画面鼠标自动跟随(动态

你可能感兴趣的:(python自动化工具之pywinauto_python自动化工具之pywinauto(二))