我正在尝试使用HwndWrapper.Texts()
,它应该是“返回此控件的每个项目的文本”,但它只会返回“u'Fight plan settings dialog”的图块,为什么会发生这种情况?
代码是这样的:
prog=application.Application()
prog.connect_(path=r'D:\Thesis\Euroscope\Euroscope.exe')
w_handle = pywinauto.findwindows.find_windows(title=u'Fight plan setting dialog', class_name='#32770')[0]
window = prog.window_(handle=w_handle)
c=prog.Fightplansettingsdialog.Texts()
这是我要复制的窗口的屏幕:
http://imageshack.us/photo/my-images/802/newpicturewe.png/
我花了一个下午阅读pywinauto文档,我无法找到一种方法来获取前一个窗口的内容到文本文件中(除了用DoubleClick()
点击和复制每个项目和那么Ctrl+C
与TypeKeys太长了)。有什么想法吗?
编辑:此外,我发现PrintControlIdentifiers
无法轻松保存到字符串文件中。当我要求c时,做c = prog.PrintControlIdentifiers()会返回None。有什么方法吗?
谢谢
答案 0 :(得分:2)
您可以通过遍历所有孩子从窗口获取所有文本。
all_texts = []
for child in window.Children():
all_texts.extend(child.Texts())
all_texts = filter(lambda t:t, all_texts) # clear empty texts
顺便说一句,似乎窗口应该被称为“飞行计划......”: - )
PS。 我很乐意帮助虚拟控制器!
UKHH - MDN91