【pywinauto】 常用控件方法说明

Pywinauto-0.6.8 controls.uia_controls 控件模块 电脑端软件GUI鼠标键盘Python自动化办公、测试、重复性工作制定库-CSDN博客

控件类别

  1. Button(按钮):用于触发某个操作或执行某个功能。
  2. TextBox(文本框):用于输入和展示文本内容。
  3. Label(标签):用于展示文本内容,通常用于描述其他控件或提供提示信息。
  4. ComboBox(组合框):提供一个下拉列表,用于选择一个选项。
  5. ListBox(列表框):展示一个可选择的列表,可以选择一个或多个选项。
  6. CheckBox(复选框):用于选择或取消选择一个选项。
  7. RadioButton(单选按钮):用于在一组选项中选择一个选项。
  8. TreeView(树形视图):展示一个层级结构的数据,可以展开或折叠节点。
  9. ListView(列表视图):展示一个表格状的数据,可以进行排序和选择。
  10. Menu(菜单):提供一个选项列表,通常显示在应用程序的顶部。
  11. Toolbar(工具栏):提供一组常用的功能按钮,通常显示在应用程序的顶部或侧边。
  12. Dialog(对话框):用于展示特定信息或进行特定操作的窗口,通常需要用户进行交互。
  13. GroupBox(分组框):将一组相关的控件组织在一个框内,用于提供视觉上的分组和组织。
  14. Tab(选项卡):提供多个选项卡,每个选项卡可以显示不同的内容。
  15. ScrollBar(滚动条):用于滚动内容,例如在一个较长的文本框或列表中。

Dialog控件是一个顶级窗口

属性:
  • window_text:获取或设置对话框的标题文本。
  • class_name:获取对话框的类名。
  • control_id:获取对话框的控件标识符。
  • enabled:获取或设置对话框是否启用。
  • visible:获取或设置对话框是否可见。
  • rectangle:获取对话框的矩形区域坐标。
  • state:获取对话框的状态,如是否被激活、是否最大化等。
  • parent:获取对话框的父控件对象。
 
方法:
  • wait:等待对话框出现或消失。
  • close:关闭对话框。
  • set_focus:将焦点设置到对话框上。
  • maximize:最大化对话框。
  • minimize:最小化对话框。
  • restore:恢复对话框到原始大小。

MenuItem

属性:
  • text:获取或设置菜单项的文本。
  • enabled:获取或设置菜单项是否启用。
  • checked:获取或设置菜单项是否被选中。
  • visible:获取或设置菜单项是否可见。
  • parent:获取菜单项的父控件对象。
 
方法:
  • click:单击菜单项。
  • select:选择菜单项。
  • check:选中菜单项。
  • uncheck:取消选中菜单项。
区别:
click()方法会触发菜单项的点击事件并执行关联操作,
select()方法只选择菜单项而不触发点击事件,
check()方法用于选中菜单项并标记为已选中状态。

ListBox控件是用于显示列表选项的控件

属性:
  • count:获取列表框中的列表项数量。
  • selected_index:获取或设置当前选中的列表项的索引。
  • selected_text:获取或设置当前选中的列表项的文本。
  • items:获取列表框中的所有列表项。
  • enabled:获取或设置列表框是否启用。
  • visible:获取或设置列表框是否可见。
  • parent:获取列表框的父控件对象。
 
方法:
  • select:选择指定索引的列表项。
  • deselect:取消选择指定索引的列表项。
  • get_item_text:获取指定索引的列表项的文本。
  • get_item_data:获取指定索引的列表项的数据。
  • set_item_data:设置指定索引的列表项的数据。
  • get_selected_items:获取所有选中的列表项。
from pywinauto.application import Application  
 
# 启动或连接到你的应用程序  
app = Application().start("your_application.exe")  
# 或者连接到已运行的实例  
# app = Application().connect(path="your_application.exe")  
 
# 选择窗口  
window = app.window(title='Your Window Title')  
 
# 假设ListBox的控件ID是'myListBox'  
list_box = window.child_window(auto_id="myListBox", control_type="ListBox")  
 
# 选择ListBox中的某个项(通过文本)  
list_box.select('Item Text')  
 
# 或者,如果知道索引,可以直接选择(注意索引可能从0开始,也可能从1开始,这取决于控件)  
list_box.select(index_of_item)
# 或许选定值
selected_items = [item.window_text() for item in list_box.items() if item.is_selected()]  
if selected_items:  
    print("选定的项是:", selected_items)  
else:  
    print("没有选定的项")

 ListView 控件是一个可以显示多个项目的列表,这些项目可以是一行一行的文本,也可以包含图标、子项等。用户可以滚动查看列表中的所有项目,并且通常可以选择一个或多个项目

ComboBox 控件则是一个结合了文本框和下拉列表的控件。它允许用户从下拉列表中选择一个项目,或者在文本框中输入自定义的文本。当用户点击下拉箭头时,会弹出一个下拉列表供用户选择。

ListItem对象

  1. click():点击ListItem,模拟用户点击该项目。
  2. select():选择ListItem,将其设置为选中状态。
  3. double_click():双击ListItem,模拟用户双击该项目。
  4. get_properties():获取ListItem的属性,如文本、位置、大小等。
  5. get_item_text():获取ListItem的文本内容。
  6. get_item_image():获取ListItem的图像。
  7. is_checked():检查ListItem是否被选中。
  8. is_enabled():检查ListItem是否可用。
  9. is_visible():检查ListItem是否可见。
  10. set_focus():将焦点设置到ListItem上。
  11. get_value():获取ListItem的值,通常用于获取列表中的某个字段的值。

控件属性 child.element_info

- class_name: 控件的类名。
- name: 控件的名称(如果可用)。
- control_type: 控件的类型(如 "Button", "Edit", "Window" 等)。
- framework_id: 使用的 UI 自动化框架的标识符(如 "Win32", "WPF" 等)。
- is_visible: 控件是否可见。
- is_enabled: 控件是否启用。
- is_keyboard_focusable: 控件是否可以通过键盘聚焦。
- is_control_element: 控件是否是一个控制元素(而非其他类

Button

属性:
  • window_text:获取或设置按钮的文本内容。
  • class_name:获取按钮的类名。
  • control_id:获取按钮的控件标识符。
  • enabled:获取或设置按钮是否启用。
  • visible:获取或设置按钮是否可见。
  • rectangle:获取按钮的矩形区域坐标。
  • state:获取按钮的状态,如是否被选中、是否被禁用等。
  • parent:获取按钮的父控件对象。
 
方法:
  • click:模拟点击按钮。
  • get_properties:获取按钮的所有属性。
  • get_value:获取按钮的值。
  • set_focus:将焦点设置到按钮上。
  • get_patterns:获取按钮支持的UI自动化模式。

 TreeView(树形视图)

属性

  1. Nodes:表示TreeView控件中的节点集合。
  2. SelectedItem.Text:用于返回或设置当前选中节点的文本内容。
  3. ShowCheckBoxes:声明是否显示复选框。
  4. ShowExpandCollapse:声明是否显示展开/折叠按钮。
  5. ShowLines:声明节点间是否以线连接。
  6. ExpandDepth:声明TreeView控件展开的深度。
  7. CheckedNodes:返回被选中的单个或多个节点。
  8. RootNodeStyle、NodeStyle、LeafNodeStyle、SelectedNodeStyle、HoverNodeStyle:这些属性用于指定不同类型节点的样式。

方法

  1. item_count():获取树控件中所有显示的节点数量(不包括被折叠隐藏的节点)。
  2. roots():获取TreeView的根元素。

mouse 鼠标模拟

方法

  1. click(button='left', coords=(0, 0))
    • 单击指定的坐标。可以通过 button 参数指定是左键、中键还是右键。
  2. double_click(button='left', coords=(0, 0))
    • 双击指定的坐标。
  3. move(coords=(0, 0))
    • 将鼠标移动到指定的坐标。
  4. press(button='left', coords=(0, 0))
    • 在指定的坐标处按下鼠标按钮。
  5. release(button='left', coords=(0, 0))
    • 在指定的坐标处释放鼠标按钮。
  6. right_click(coords=(0, 0))
    • 在指定的坐标处右键单击。
  7. scroll(coords=(0, 0), wheel_dist=1)
    • 在指定的坐标处滚动鼠标滚轮。wheel_dist 参数指定滚动的距离和方向(正数表示向上滚动,负数表示向下滚动)。

posted on 2024-05-14 16:40  彩屏黑白  阅读(143)  评论(0编辑  收藏  举报

导航