Pywinauto,TtsGridEditBox中没有文本(Delphi XE2 GUI创建的应用程序正在测试中)



尽我所能。。

我无法使用pywinauto从使用Delphi编写的内部应用程序工具(Eurotherm的iTools)中获取显示的文本。我已经使用pywinauto编写了大量的Python测试代码(infrustructure)。我使用文本文件为展开和缩进的结构坐标绘制了浏览器x,y元素,因为浏览器"TUivOPCTreeView"框架中没有文本。

我设法通过DoubleClickInput选择了TtsGridEditBox,并用DrawOutline()突出显示它。所有的努力.UserData().Texts().WindowText(),循环通过过滤lamda的子级和大量崩溃命令,给出文本"。我认为我唯一的选择是复制文本,因为它看起来无法阅读。

我设法删除了(.TypeKeys("{HOME}{DELETE}{DELETE}{DELETE}{DELETE}{DELETE}")并输入了一个不同的值(.TypeKeys(' + var + '"{ENTER}"))

有没有办法发布:主页、选择、结束、用.TypeKeys复制或其他任何方式?

Control Identifiers:
TtsGridEditBox - ''   (L680, T498, R776, B512)
'49' 'TtsGridEditBox' ()
Read WindowText from valueNum20 is {u'UserData': 0, u'Style': 1409286144, u'ControlCount':
0, u'ClientRects': [<RECT L0, T0, R96, B14>], u'IsEnabled': True, u'Fonts': [<LOGFONTW 'M
S Shell Dlg' -11>], u'FriendlyClassName': u'TtsGridEditBox', u'IsUnicode': True, u'Texts':
[''], u'ContextHelpID': 0, u'ExStyle': 0, u'IsVisible': True, u'ControlID': 2100226, u'Me
nuItems': [], u'Class': u'TtsGridEditBox', u'Rectangle': <RECT L680, T498, R776, B512>}

GUI是用DelphiXE2(2012)v16.0.4504.48754编写的,带有插件TeeChart 2012、VirtualTreeViewV5.1.3和TopGrid 2_20。

pywinauto是否曾在非win32编写的应用程序(如Delphi)上运行过?这对任何人都有好处吗?

我确信Delphi编写的GUI显示了任何自动化工具的文本,但却奇怪地屏蔽了文本。

非常沮丧,提前感谢:)

可以为包括StringGrid在内的一些Delphi控件找到UI自动化模式的实现。

这个父项目"DelphiUIAutomation"可以帮助您使用带有这些增强控件的pywinauto。或者您可以选择Delphi本身作为测试代码。