python - Pywinauto - 如何获取将动态变化的元素(进度条)的“值”属性
问题描述
我正在尝试自动化 wpf 应用程序后端 = uia,对于进度条,我需要获取动态变化的“值”属性,但是当我使用 window_text() 时,我得到了 '',然后我试图通过这个包装器中的控件pywinauto.application.controls.uia_controls.UIAElementInfo(ctrl).name
得到这个错误TypeError("UIAElementInfo object can be initialized " + \ "with integer or IUIAutomationElement instance only!
) 最后尝试在下面的 Progresswrapper 类中传递元素,pywinauto.controls.common_controls.ProgressWrapper(element_info).get_position()
获取 element_info 应该是 hwndwrapper。
这是我的代码 app.py
启动app.exe
app = pywinauto.application.Application(backend='uia').start('app.exe')
识别窗口
wind = app.window(auto_id="someid")
找到进度条控件
ctrl = wind.window(auto_id='progress')
获取控件进度条的文本
ctrl.window_text()
解决方案
方法ctrl.get_value()
是你需要的。如果您不知道自己在做什么,则不应尝试手动创建包装器。
推荐阅读
- r - youtube 评论中的平均字符数
- python - python - lambda函数列表总是评估最后一个函数
- swift - 更新约束时如何避免 UICollectionView 中的淡入淡出动画
- swift - 如何在 MapKit 应用程序中的 MKRoute 旁边放置视图
- flutter - 如何在 Flutter 中设计这个自定义的小部件形状
- django - 如何访问自定义 Wagtail 块的内部值?
- angular - 如何修复“错误类型错误:对象(...)不是函数”?
- python-3.x - 在 Tornado 主循环启动后运行操作
- r - 当我有多条线时,如何更改 geom_line 的颜色?
- php - Laravel 创建方法不返回观察者插入的主键值