我正在使用pywinauto列出特定应用程序的控件标识符。我能做到的就好了。但是,我想将这些控件标识符保存到文件中,或者更好地将它们分配给字符串或列表,但不能编写它们或分配它们....有没有人知道以编程方式将这些标识符写入文件或内存的方法?
示例代码:
import os
import time
from pywinauto import application
from SendKeys import SendKeys
app=application.Application()
app.start_(r"C:\Program Files\myapp.exe")
app.dlg.print_control_identifiers()
Control Identifiers:
Button - 'Exit' (L900, T649, R975, B672)
'Button' 'Button0' 'Button1' 'Exit' 'ExitButton'
Button - 'About' (L339, T646, R410, B672)
'About' 'AboutButton' 'Button2'
...
...
...
我尝试了以下内容:
my_App_ci = app.dlg.print_control_identifiers()
和
my_App_ci = []
my_App_ci.append(app.dlg.print_control_identifiers())
无济于事....
答案 0 :(得分:1)
print_control_identifiers打印到stdout而不是返回字符串。我快速查看了源代码,我看不到任何函数将它们作为字符串,这是非常糟糕的设计恕我直言。
您可以通过将sys.stdout重新分配给StringIO对象并从中获取字符串来捕获信息。或者阅读源代码以查看print_control_identifiers的作用,并创建一个返回字符串列表的版本。
答案 1 :(得分:1)
您可以使用print_control_identifiers(filename =“path \ to \ your \ desktop \ file.txt”)