【发布时间】:2015-07-03 18:02:10
【问题描述】:
我从 pip 安装了最后一个 pywinauto 模块。
我不知道如何使用 Check()、UnCheck()、GetCheckState() 方法。
这是我非常简单的代码示例。
from pywinauto import application
# Start the madvr settings application.
app = application.Application()
app.start_(r'C:\Program Files\LAV Filters\x86\madVR\madHcCtrl.exe editLocalSettingsDontWait')
# Handle the madvr settings window.
madvr = app.window_(title_re="madVR.*")
# Enable the smooth motion tab.
madvr.TreeView.GetItem(r'\rendering\smooth motion').Click()
# Check the smooth motion checkbox.
madvr.TCheckBox.Check()
如果我使用 Click() 方法,它可以工作,但这不是我想要的。
madvr.TCheckBox.Click()
如果复选框已被选中,则取消选中它。
为什么我不能使用 Check() 方法?
我尝试了 Uncheck() 和 GetCheckState() 方法,它们也没有用。
【问题讨论】:
-
可能您的 madHcCtrl.exe 仅处理用于更改状态的 WM_CLICK 事件。这是很常见的情况。如果是,还有另一种选择:
CheckByClick和UncheckByClick。 -
也不行。我有这个错误:
AttributeError: 'HwndWrapper' object has no attribute 'CheckByClick' -
哦,看来这个控件被检测为不是复选框。还请提供
madvr.TCheckBox.Class()返回值。它可能有助于在 pywinauto 0.5.1 中解决此问题。 -
返回:
'TCheckBox'.
标签: user-interface python-3.x microsoft-ui-automation pywinauto