【问题标题】:troubleshooting python module pywinautopython模块pywinauto故障排除
【发布时间】: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


【解决方案1】:

请更正记事本的拼写,它将正常工作。

   get_app(app_name="notepad.exe")

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-15
    • 2021-05-07
    • 1970-01-01
    • 2013-07-15
    • 2010-11-30
    • 2021-09-11
    相关资源
    最近更新 更多