Python 3.x 无法在pywinauto中为我的桌面应用程序使用print_control_identifiers()

Python 3.x 无法在pywinauto中为我的桌面应用程序使用print_control_identifiers(),python-3.x,ui-automation,pywinauto,Python 3.x,Ui Automation,Pywinauto,您好,我无法为我的桌面应用程序使用“打印控制标识符()。 我使用的是Python 3.5.3(32位,因为我正在自动化的应用程序是32位) b) Pywinauto 0.6.2。 我的简单代码如下: `from pywinauto import Application app = Application(backend="uia") app = Application().start(r"C:\Program Files (x86)\Trane\TRACE 3D Plus\TRACE™

您好,我无法为我的桌面应用程序使用“打印控制标识符()。 我使用的是Python 3.5.3(32位,因为我正在自动化的应用程序是32位) b) Pywinauto 0.6.2。 我的简单代码如下:

`from pywinauto import Application
app = Application(backend="uia")    
app = Application().start(r"C:\Program Files (x86)\Trane\TRACE 3D  Plus\TRACE™ 3D Plus.exe")  
app['TRACE™ 3D Plus'].print_control_identifiers()`
当我运行上述命令时,我在命令提示符中看到以下内容:

Traceback (most recent call last):
File "D:\Python\lib\site-packages\pywinauto\application.py", line 243, in   __re
solve_control
criteria)
File "D:\Python\lib\site-packages\pywinauto\timings.py", line 424, in     wait_until_passes
raise err
pywinauto.timings.TimeoutError

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "inspect.py", line 4, in <module>
app['TRACE\u2122 3D Plus'].print_control_identifiers()
File "D:\Python\lib\site-packages\pywinauto\application.py", line 573, in  prin
t_control_identifiers
this_ctrl = self.__resolve_control(self.criteria)[-1]
File "D:\Python\lib\site-packages\pywinauto\application.py", line 246, in __re
solve_control
raise e.original_exception
File "D:\Python\lib\site-packages\pywinauto\timings.py", line 402, in   wait_unt
il_passes
func_val = func(*args)
File "D:\Python\lib\site-packages\pywinauto\application.py", line 188, in __ge
t_ctrl
dialog = self.backend.generic_wrapper_class(findwindows.find_element(**crite
ria[0]))
File "D:\Python\lib\site-packages\pywinauto\findwindows.py", line 84, in   find_
element
elements = find_elements(**kwargs)
File "D:\Python\lib\site-packages\pywinauto\findwindows.py", line 294, in find
_elements
elements = findbestmatch.find_best_control_matches(best_match, wrapped_elems
)
File "D:\Python\lib\site-packages\pywinauto\findbestmatch.py", line 534, in  fi
nd_best_control_matches
raise MatchError(items = name_control_map.keys(), tofind = search_text)
pywinauto.findbestmatch.MatchError: Could not find 'TRACE\u2122 3D Plus' in   'dic
t_keys([])'
回溯(最近一次呼叫最后一次):
文件“D:\Python\lib\site packages\pywinauto\application.py”,第243行,在
解算控制
(标准)
文件“D:\Python\lib\site packages\pywinauto\timings.py”,第424行,等待\u通过
提出错误
pywinauto.timings.TimeoutError
在处理上述异常期间,发生了另一个异常:
回溯(最近一次呼叫最后一次):
文件“inspect.py”,第4行,在
应用程序['TRACE\u2122 3D Plus']。打印控制标识符()
文件“D:\Python\lib\site packages\pywinauto\application.py”,第573行,prin
控制标识符
此[u ctrl=self.\u解析[u控制(self.criteria)[-1]
文件“D:\Python\lib\site packages\pywinauto\application.py”,第246行,在
解算控制
引发e.U异常
文件“D:\Python\lib\site packages\pywinauto\timings.py”,第402行,在等待中
伊卢通行证
func_val=func(*args)
文件“D:\Python\lib\site packages\pywinauto\application.py”,第188行,在
t\u ctrl
dialog=self.backend.generic\u包装类(findwindows.find\u元素(**crite
ria[0]))
文件“D:\Python\lib\site packages\pywinauto\findwindows.py”,第84行,在find中_
要素
元素=查找元素(**kwargs)
文件“D:\Python\lib\site packages\pywinauto\findwindows.py”,第294行,在find中
_元素
elements=findbestmatch.find_best_control_matches(best_match,wrapped_elems
)
文件“D:\Python\lib\site packages\pywinauto\findbestmatch.py”,第534行,fi格式
nd\u最佳控制\u匹配
引发匹配错误(items=name\u control\u map.keys(),tofind=search\u text)
pywinauto.findbestmatch.MatchError:在dic中找不到“TRACE\u2122 3D Plus”
t_键([])'
谁能告诉我问题是什么,我能做些什么来解决它

提前谢谢

替换这些命令

app = Application(backend="uia")    
app = Application().start(r"C:\Program Files (x86)\Trane\TRACE 3D  Plus\TRACE™ 3D Plus.exe")
关于这一点:

app = Application(backend="uia").start(r'"C:\Program Files (x86)\Trane\TRACE 3D  Plus\TRACE™ 3D Plus.exe"')

因为如果不使用任何参数,您将使用默认的
backend=“win32”
重新创建
app
对象。如果很难理解,我建议先学习Python课程。这里需要基本的Python编程技能来理解发生了什么。

嗨,瓦西里,感谢您的投入。我学习Python是为了更好地理解事物。不过我在这门课上没走多远。我也试过你提到的代码。但是我得到了与上面发布的相同的错误。添加了双引号,因为路径包含空格!请参阅编辑后的答案。顺便问一下,我可以下载这个Trace 3D Plus软件吗?可能是一些试用版。在这段代码中,我在命令提示符中得到了“应用程序启动错误”和“系统找不到指定的文件”消息。Vasily,这个产品还没有上市,所以你还找不到它的试用版。