【发布时间】:2020-07-16 21:10:15
【问题描述】:
我正在运行 pycharm 为我自己开发一个基本的自动化工具我进行了研究并发现了几个我想要使用的模块是 pypi 站点上的pywinauto 它说它支持 python2.7 到python3.7 我用python3.7系统解释器在pycharm中安装了pywinauto包,到目前为止一切都很好
对我来说,这个 pywinauto 模块是新的,所以我去了文档并制作了一个简单的脚本来打开记事本让我玩这个模块
import os
import random
import sys
import time
from pywinauto.application import Application
def get_app(app_name):
app = Application().start(app_name)
#app.UntitledNotepad.menu_select("Help->About Notepad")
pass
if __name__ == "__main__":
print ("hello world !")
get_app(app_name="notrpad.exe")
但是由于某种原因pycharm给了我一个属性错误
Traceback (most recent call last):
File "C:/Users/myname/Desktop/winfuzz/winfuxx.py", line 5, in <module>
from pywinauto.application import Application
File "C:\Program Files (x86)\Python37-32\lib\site-packages\pywinauto\__init__.py", line 89, in <module>
from . import findwindows
File "C:\Program Files (x86)\Python37-32\lib\site-packages\pywinauto\findwindows.py", line 42, in <module>
from . import controls
File "C:\Program Files (x86)\Python37-32\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)\Python37-32\lib\site-packages\pywinauto\controls\uiawrapper.py", line 47, in <module>
from ..uia_defines import IUIA
File "C:\Program Files (x86)\Python37-32\lib\site-packages\pywinauto\uia_defines.py", line 181, in <module>
pattern_ids = _build_pattern_ids_dic()
File "C:\Program Files (x86)\Python37-32\lib\site-packages\pywinauto\uia_defines.py", line 169, in _build_pattern_ids_dic
if hasattr(IUIA().ui_automation_client, cls_name):
File "C:\Program Files (x86)\Python37-32\lib\site-packages\pywinauto\uia_defines.py", line 50, in __call__
cls._instances[cls] = super(_Singleton, cls).__call__(*args, **kwargs)
File "C:\Program Files (x86)\Python37-32\lib\site-packages\pywinauto\uia_defines.py", line 63, in __init__
self.ui_automation_client.CUIAutomation().IPersist_GetClassID(),
AttributeError: module 'comtypes.gen.UIAutomationClient' has no attribute 'CUIAutomation'
Process finished with exit code 1
我尝试在 pycharm 中使用 python2.7,它只是不会安装包 一些关于 ssl 证书的错误
没什么大不了的,因为我打算使用 python3.7
我也尝试使用 cmd 和记事本编写相同的脚本,但没有成功,我得到了同样的错误
【问题讨论】:
-
你需要清理
comtypes缓存。它的脚本应该放在这里:C:\Program Files (x86)\Python37-32\Scripts另外请确保您以管理员身份运行脚本(至少第一次,下次运行库会正确警告您)。
标签: pycharm python-3.7 pywinauto