无法使用 UIA 后端单击带有 pywinauto 的单选按钮
Can't click radio button with pywinauto using UIA backend
在 pywinauto documentation 上它说您可以使用 click
方法单击单选按钮:
我在使用 UIA 后端时遇到过问题,因为它与 win32 不同。在这种情况下,似乎没有办法点击单选按钮。
我尝试使用 window 规范:
spec.window(auto_id='RadioButtonManualbackground').click()
AttributeError: Neither GUI element (wrapper) nor wrapper method 'click' were found (typo?)
找不到任何名为 click
的方法。我尝试使用 toggle
和 check
,但它们也不起作用。
我还尝试使用树层次结构单击单选按钮:
app.Dialog.Analysis.BackgroundCorrection.ManualBackgroundCorrection.click()
pywinauto.uia_defines.NoPatternInterfaceError
同样,这不适用于 toggle
或 check
。
是否支持使用 UIA 后端单击单选按钮,我该怎么做?
这可能有点令人困惑,但是单选按钮包装器具有使用 SelectionItemPattern
的 .select()
方法。我在 test_radio_button
单元测试中找到了它。
正确的实施应该检查所有可能的模式并选择有效的模式。所以我会认为它是一个错误:提交 issue #549。感谢报告!
P.S。您总是有方法 .click_input()
作为解决方法。它通过移动光标执行最真实的点击。
在 pywinauto documentation 上它说您可以使用 click
方法单击单选按钮:
我在使用 UIA 后端时遇到过问题,因为它与 win32 不同。在这种情况下,似乎没有办法点击单选按钮。
我尝试使用 window 规范:
spec.window(auto_id='RadioButtonManualbackground').click()
AttributeError: Neither GUI element (wrapper) nor wrapper method 'click' were found (typo?)
找不到任何名为 click
的方法。我尝试使用 toggle
和 check
,但它们也不起作用。
我还尝试使用树层次结构单击单选按钮:
app.Dialog.Analysis.BackgroundCorrection.ManualBackgroundCorrection.click()
pywinauto.uia_defines.NoPatternInterfaceError
同样,这不适用于 toggle
或 check
。
是否支持使用 UIA 后端单击单选按钮,我该怎么做?
这可能有点令人困惑,但是单选按钮包装器具有使用 SelectionItemPattern
的 .select()
方法。我在 test_radio_button
单元测试中找到了它。
正确的实施应该检查所有可能的模式并选择有效的模式。所以我会认为它是一个错误:提交 issue #549。感谢报告!
P.S。您总是有方法 .click_input()
作为解决方法。它通过移动光标执行最真实的点击。