バイナリを自動的にインストールするツールを作成しようとしています。基本的に、私はcomtypesとMSAAインターフェイスを使用して、インストールウィンドウを操作し、インストール手順を実行します。ウィンドウがポップアップしたら、このウィンドウのすべての要素を再帰的に列挙し、対話するのに最も適切な要素(通常はボタン)を選択します。ツールが正常に動作する場合があります。ただし、要素の列挙に非常に長い時間がかかる場合があります(それほど複雑ではないウィンドウの場合、最大1.5分かかる場合があります)。そして、この問題はタイミングに関連しているようです。いつも幸せというわけではありません。私はこの問題に一週間立ち往生しています。誰かが助けることができますか?お願いします!!!
私が考えることができる1つの可能性は、ウィンドウを列挙しているときに、このウィンドウがターゲットアプリケーションによって破壊され、COMが停止され、それ以上のナビゲーションに失敗することです。それは潜在的な理由でしょうか?ウィンドウが最終的に列挙されているので、私はこれについて自分自身を納得させることはできません。列挙中にウィンドウが消えた場合、ウィンドウ要素ツリーのトラバースは失敗するはずです。