2017-08-10 8 views
-2

私は、このアプリケーションタイプを使用して、私が自動化する必要のあるアプリケーションを持っています。残念ながら、アプリケーションウィンドウは私のオートメーションツールには見えません。この問題を回避する方法はありますか?私は自動化のためにpywinutoを使用しています。私はこのアプリケーションのウィンドウデータを調べることさえできません。notifyiconwpfとGUIオートメーション

EDIT:

from pywinauto import Application 
from pywinauto import taskbar 

app = Application().start("path/to/my/app") 
#make the window visible 
taskbar.ClickHiddenSystemTrayIcon("My App") 
#When I query the number of windows the app has. 
len(app.Windows()) 
#I get zero windows. There should be at least one window 
#because the window is currently visible. 

また、私はWindowSpecificationを得ることができたためのFindWindow方法を試してみたが、それは任意のウィンドウに接続されていません。

+0

cmdプロンプトからアプリケーションを実行できますか? – jmoon

+0

@jmoonできます。それだけでアプリを起動します。 –

+0

どのバックエンドからpywinautoを使用しますか? paramsなしで 'Application()'を作成すると、デフォルトで "win32"が使用されますが、これはWPFアプリケーションでは間違っています。代わりに 'Application(backend =" uia ")'を使用してください。 –

答えて

1

このアプリケーションを自動化できるようにするため、開発者はコマンドラインスイッチに応じて条件付きで標準ウィンドウにNotifyIconWPFをラップする必要がありました。これが完了すると、このアプリケーション用のウィンドウがpywinautoにアクセスできるようになりました。 Caliburn Microのようなものですが、このウィンドウクラスでは意図的にアクセシビリティが無効になっています。

関連する問題