我正在为visual studio C#桌面应用程序使用GUI自动化。我有DataGridView,在网格内我有组合框和复选框。我尝试使用pywinauto自动化这些,我只能得到网格布局控件和内部的东西我无法得到控件
(我试过print _control_identifiers(),Swapy,AutoIT Window Info和winspy也..)
任何人PLZ告诉我如何使用pywinauto桌面应用程序自动化Visual Studio C#DataGridView及其子控件?
简短的回答是,使用PyWinAuto自动化DataGridView的子控件没有好办法。
如果要从DataGridView中读取数据(例如,读取单元格的文本内容,或确定是否选中了复选框),则完全没有运气。如果要控制DataGridView,可以尝试两种方法:
如果您的DataGridView中包含少量数据,这些可能会有效,但是一旦DataGridView开始需要滚动条,您就不幸了。此外,单击偏移量对行和列的大小敏感,如果可以调整列的大小,则此方法永远不可靠。
尝试使用pywinauto的0.6.6版本,它现在可以更好地支持datagridview。 https://github.com/pywinauto/pywinauto/releases。别忘了使用uia后端。以下示例
Application(backend="uia")