2017-04-12 420 views
1

我在Windows上有一个工作代码,在许多其他步骤之后,使用Audacity去除接收到的音频文件的噪音。我已经在Windows上使用下面的代码来控制转移到执行的动作集:用于Mac的Python pywinauto for Audacity

import pywinauto 
from pywinauto import application 

def noiseReduce(filename): 
    app = application.Application() 
    app = app.connect(path=r'/Applications/Audacity') 
    app.captcha20170411_202241.menu_select('File->Import->Audio') 
    app.Selectoneormoreaudiofiles.Edit.SetText(filename + '.wav') 

我移植的代码,以我的Mac和安装必要的PY模块,如pywinauto。不过,我收到此错误:

File "/Users/gautam/PycharmProjects/project/Capture.py", line 20, in <module> 
    from pywinauto import application 
    File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/pywinauto/application.py", line 75, in <module> 
    import win32process 
ImportError: No module named 'win32process' 

在想点子安装win32process,我得到一个错误:

Could not find a version that satisfies the requirement win32process (from versions:) No matching distribution found for win32process

有没有办法解决这个或其他替代方案将控制转移到Audacity的并对其执行操作?

回答

1

目前pywinauto不支持Apple Accessibility API,不应该在MacOS上工作。

不幸的是,在开源领域没有好的跨平台GUI自动化工具(使用基于辅助文本的方法)。唯一一个是LDTP(Linux桌面测试项目)和API兼容眼镜蛇(在Windows上)和pyatom(MacOS)。幸运的是,pyatom也是一个独立的自包含库。我的学生能够使用pyatom自动化几个应用程序。你现在可以考虑使用它。

P.S.我们正在尝试使pywinauto跨平台(实现真正的无缝集成),但MacOS后端实现目前处于非常早期的开发阶段。我期望在Apple Accessibility API之前引入Linux AT-SPI支持。