Python Pywinauto app=Application.start()不工作,出现错误
尝试使用pywinauto启动exe文件时出错。这是我的代码:Python Pywinauto app=Application.start()不工作,出现错误,python,python-3.x,pywinauto,Python,Python 3.x,Pywinauto,尝试使用pywinauto启动exe文件时出错。这是我的代码: from pywinauto.application import Application app = Application() app.Start("D:\dragonboy160\dragonboy160.exe") 据我所知,这应该行得通app=Application().start(“”)也不起作用。我还尝试如下设置导入:来自pywinauto导入应用程序我在PyCharm中运行python文件时出现了以下错误: "C:
from pywinauto.application import Application
app = Application()
app.Start("D:\dragonboy160\dragonboy160.exe")
据我所知,这应该行得通app=Application().start(“”)也不起作用。我还尝试如下设置导入:来自pywinauto导入应用程序
我在PyCharm中运行python文件时出现了以下错误:
"C:\Program Files (x86)\python.exe" D:/dragonboy160/screenview.py
Traceback (most recent call last):
File "D:/dragonboy160/screenview.py", line 2, in <module>
import pywinauto
File "C:\Program Files (x86)\lib\site-packages\pywinauto\__init__.py", line 40, in <module>
from . import findwindows
File "C:\Program Files (x86)\lib\site-packages\pywinauto\findwindows.py", line 42, in <module>
from . import controls
File "C:\Program Files (x86)\lib\site-packages\pywinauto\controls\__init__.py", line 36, in <module>
from . import uiawrapper # register "uia" back-end (at the end of uiawrapper module)
File "C:\Program Files (x86)\lib\site-packages\pywinauto\controls\uiawrapper.py", line 44, in <module>
from ..uia_defines import IUIA
File "C:\Program Files (x86)\lib\site-packages\pywinauto\uia_defines.py", line 35, in <module>
import comtypes.client
File "C:\Program Files (x86)\lib\site-packages\comtypes\client\__init__.py", line 33, in <module>
gen_dir = _find_gen_dir()
File "C:\Program Files (x86)\lib\site-packages\comtypes\client\_code_cache.py", line 71, in _find_gen_dir
result = os.path.abspath(gen_path[-1])
IndexError: list index out of range
“C:\Program Files(x86)\python.exe”D:/dragonboy160/screenview.py
回溯(最近一次呼叫最后一次):
文件“D:/dragonboy160/screenview.py”,第2行,在
导入pywinauto
文件“C:\Program Files(x86)\lib\site packages\pywinauto\\uuuu init\uuuu.py”,第40行,在
从…起导入findwindows
文件“C:\Program Files(x86)\lib\site packages\pywinauto\findwindows.py”,第42行,在
从…起进口管制
文件“C:\Program Files(x86)\lib\site packages\pywinauto\controls\\uuu init\uuu.py”,第36行,在
从…起导入uiawrapper#注册“uia”后端(在uiawrapper模块的末尾)
文件“C:\Program Files(x86)\lib\site packages\pywinauto\controls\uiawrapper.py”,第44行,在
from..uia_定义导入IUIA
文件“C:\Program Files(x86)\lib\site packages\pywinauto\uia\u defines.py”,第35行,在
导入comtypes.client
文件“C:\Program Files(x86)\lib\site packages\comtypes\client\\uuuu init\uuuu.py”,第33行,在
gen\u dir=\u find\u gen\u dir()
文件“C:\Program Files(x86)\lib\site packages\comtypes\client\\u code\u cache.py”,第71行,在\u find\u gen\u dir中
结果=os.path.abspath(gen_path[-1])
索引器:列表索引超出范围
我搜索了又搜索,似乎没有其他人有这个问题。我还尝试打开其他.exe文件,但出现了相同的错误。导致此错误的原因是什么?我如何修复它?这是一个导入问题(在第一行)
这看起来像是没有管理员权限,comtypes
无法将缓存文件写入程序文件。理论上,它可能会在comtypes端修复(或者通过将Python重新安装到另一个文件夹,如C:\Python3x
),但是由于其他操作系统限制,您无论如何都必须以管理员身份运行该脚本(pywinauto将在最近的将来警告权限不足,现在它处于静默状态).我也遇到了同样的问题,我通过从Windows禁用UAC
来修复它。尝试app.Start(“D:\\dragonboy160\\dragonboy160.exe”)
我尝试了,得到了相同的结果r'“D:\dragonboy160\dragonboy160.exe”
?检查向导,这是行不通的。对终端用户来说,禁用UAC不应该是一个可接受的答案。