0

バイナリを自動的にインストールするツールを作成しようとしています。基本的に、私はcomtypesとMSAAインターフェイスを使用して、インストールウィンドウを操作し、インストール手順を実行します。ウィンドウがポップアップしたら、このウィンドウのすべての要素を再帰的に列挙し、対話するのに最も適切な要素(通常はボタン)を選択します。ツールが正常に動作する場合があります。ただし、要素の列挙に非常に長い時間がかかる場合があります(それほど複雑ではないウィンドウの場合、最大1.5分かかる場合があります)。そして、この問題はタイミングに関連しているようです。いつも幸せというわけではありません。私はこの問題に一週間立ち往生しています。誰かが助けることができますか?お願いします!!!

私が考えることができる1つの可能性は、ウィンドウを列挙しているときに、このウィンドウがターゲットアプリケーションによって破壊され、COMが停止され、それ以上のナビゲーションに失敗することです。それは潜在的な理由でしょうか?ウィンドウが最終的に列挙されているので、私はこれについて自分自身を納得させることはできません。列挙中にウィンドウが消えた場合、ウィンドウ要素ツリーのトラバースは失敗するはずです。

4

1 に答える 1

0

問題が発生するまでスクリプトのプロファイリングを試みてから、プロファイリング情報を調べて、余分な時間が費やされている場所を見つけます。

于 2011-05-14T12:58:17.513 に答える