【发布时间】:2017-04-10 05:02:34
【问题描述】:
我尝试了多种方法来启动我的应用程序。在某些情况下,我能够启动它但无法使用 print_control_identifier,或者在另一种情况下,我什至无法启动我的应用程序。我尝试了 pywinauto 0.6.2 入门文档中显示的这段代码。
# coding: utf-8
# -*- coding: utf-8 -*-
from subprocess import Popen
from pywinauto import Desktop
Popen('TRACE™ 3D Plus.exe', shell=True)
dlg = Desktop(backend="uia").TRACE™ 3D Plus
dlg.wait('visible')
现在,当我从命令提示符运行这段代码时,我得到了错误,
File "3d.py", line 6
dlg = Desktop(backend="uia").TRACE\ufffd 3D Plus
SyntaxError: invalid character in identifier
在我看来,我的应用程序名称中的 ™ 符号在执行这段代码时没有被正确解释。
对此有何想法以及我可以做些什么来使其发挥作用?
提前致谢!
【问题讨论】:
-
抱歉,主要工作太忙了。周末看看。
-
顺便说一句,
dlg = Desktop(backend="uia").TRACE\ufffd 3D Plus应该是dlg = Desktop(backend="uia")['TRACE\ufffd 3D Plus'] -
你试过
Popen('TRACE\ufffd 3D Plus.exe', shell=True)吗? -
你也可以试试
os.listdir('<path to target app folder>')看看Python中列出了哪些名字。 -
嗨 Vasily,我尝试了您提到的代码: from subprocess import Popen from pywinauto import Desktop Popen('TRACE™ 3D Plus.exe', shell=True) dlg = Desktop(backend=" uia")['TRACE™ 3D Plus'] 我运行了这个,在命令提示符下得到消息 'TRACET' 不是内部或外部命令、可运行程序或批处理文件。应用程序文件夹以查看 exe 名称,并在命令提示符中将其显示为“TRACET 3D Plus.exe”。
标签: python-3.x ui-automation pywinauto