C# で UI Automation を使って、 あるアプリケーションを操作しています。
ボタンを押したり、テキストボックスへの入力など基本的なことは問題なくできています。
しかし、タブコントロールの内側の要素を取得だけができず困っています。
Inspect や UIA Verify で確認してもタブコントロールのヘッダ部分(クリックすると選択してるタブが切り替わるボタンみたいなところ)はあるのですが内側の本体が表示されていません。
ググってみると TabItem の中に Pane があって中身の要素がありそうです。
https://msdn.microsoft.com/en-us/library/ms751611(v=vs.110).aspx
また、.net4.5でコンパイルするとタブのペインが見れなくなった のようなことを書いたページもありました。
http://stackoverflow.com/questions/25617731/white-ui-automation-doesnt-recognize-the-container-pane-control-in-tab
UI Automation 自体の情報は少なくはなく、タブはよく使われるものだと思うのでタブ内の要素が見れないとなれば重大な問題でもっと情報があるように思うのですが、実際はほとんど情報がないです。
今のところ、タブ内の要素を指定するために座標指定でクリックアクションを起こしたり、タブキーを数回 SendKey
で入力してフォーカス要素を取得するようにしています。
UIAutomation はテストにも使われるツールのようなので、デザインが変わる度に大きく変更が必要になる、座標指定やタブキーを押した数で目的の要素を取得するのが正しい使い方とは思えないのです。
どうにかしてタブの内側のツリーから要素を取得できないのでしょうか?
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/11/01 13:46