User interface 使用pywinauto选中复选框不会';行不通
我从pip安装了最后一个pywinauto模块。User interface 使用pywinauto选中复选框不会';行不通,user-interface,python-3.x,microsoft-ui-automation,pywinauto,User Interface,Python 3.x,Microsoft Ui Automation,Pywinauto,我从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
我不知道如何使用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()方法,它们也不起作用。我添加了
“TCheckBox”
类名,以便在0.5.1(将于本周发布)中进行正确的复选框检测。谢谢你的用例。目前您可以解决此问题,因此(pywinauto==0.6.x的代码已更新):
试试这个:
使用get\u toggle\u state()
您的madHcCtrl.exe可能只处理WM_CLICK事件以更改状态。这种情况经常发生。如果是,还有另一个选项:
CheckByClick
和UncheckByClick
。它也不起作用。我遇到了以下错误:AttributeError:'HwndWrapper'对象没有属性'CheckByClick'
噢,似乎此控件未被检测为复选框。还请提供madvr.TCheckBox.Class()
返回值。它可能有助于在pywinauto 0.5.1中修复此问题。它返回:'TCheckBox'
get\u toggle\u state()。
from pywinauto.controls.win32_controls import ButtonWrapper
checkbox = ButtonWrapper(madvr.TCheckBox.wrapper_object())
checkbox.get_check_state()
checkbox = ButtonWrapper(madvr.TCheckBox.wrapper_object())
checkbox.get_toggle_state()