windows 桌面GUI自动化- 8.pywinauto 获取控件属性和文本内容

前言

控件操作完成后,一般需要获取控件的属性对结果断言,判断是否符合预期。

查看控件类型

wrapper_object() 方法可以查看控件类型

from pywinauto import Application
# 上海悠悠 wx:283340479
# blog:https://www.cnblogs.com/yoyoketang/


app = Application('uia').start("notepad.exe")
win = app.window(title_re="无标题 - 记事本")


m = win.child_window(title="帮助(H)", control_type="MenuItem")
print(win.wrapper_object())
print(m.wrapper_object())

运行结果

uiawrapper.UIAWrapper - '无标题 - 记事本', Dialog
uia_controls.MenuItemWrapper - '帮助(H)', MenuItem

获取控件文本和class属性

获取文本属性和class属性

from pywinauto import Application

app = Application('uia').start("notepad.exe")
win = app.window(title_re="无标题 - 记事本")


m = win.child_window(title="帮助(H)", control_type="MenuItem")

# 获取文本属性
print(win.texts())
print(m.texts())

# 获取class 属性
print(win.class_name())
print(m.class_name())

get_properties()获取全部属性

from pywinauto import Application
# 上海悠悠 wx:283340479
# blog:https://www.cnblogs.com/yoyoketang/


app = Application('uia').start("notepad.exe")
win = app.window(title_re="无标题 - 记事本")


m = win.child_window(title="帮助(H)", control_type="MenuItem")

# 获取文本属性
print(win.texts())
print(m.texts())

# 窗口、控件名称
print(m.window_text())
# 子控件个数
print(m.control_count())


# 获取class 属性
print(win.get_properties())
print(m.get_properties())

运行结果

['无标题 - 记事本']
['帮助(H)']
帮助(H)
0
{'class_name': 'Notepad', 'friendly_class_name': 'Dialog', 'texts': ['无标题 - 记事本'], 'control_id': 11144239, 'rectangle': <RECT L141, T230, R918, B955>, 'is_visible': True, 'is_enabled': True, 'control_count': 3, 'is_keyboard_focusable': True, 'has_keyboard_focus': False, 'automation_id': ''}
{'class_name': '', 'friendly_class_name': 'MenuItem', 'texts': ['帮助(H)'], 'control_id': None, 'rectangle': <RECT L364, T261, R419, B280>, 'is_visible': True, 'is_enabled': True, 'control_count': 0, 'is_keyboard_focusable': True, 'has_keyboard_focus': False, 'automation_id': ''}
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值