2017-04-12 423 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支持。