本記事では、対話機能を使用してタスクを構築する際
「虫眼鏡マークから要素を取得して設定は出来たが、実際に実行すると毎回
「指定された条件に一致する要素はありません」とエラーになってしまう」場合に、
諦める前に試してみる事項について記載します。
よくあるパターン1としては、特定の処理を実行すると
「上書きしますか? はい/いいえ」や「確定しますか? はい/いいえ」のような
簡単なポップアップの操作をしたいのに、エラーになってしまう場合です。
そのような際は、以下をご確認ください。
■操作したいウィンドウのタイトルと同じ名前のウィンドウが他にも存在している
一番多いのは、このパターンです。
ダイアログを出している元のウィンドウのウィンドウタイトルとダイアログのウィンドウタイトルが全く一緒であり
なおかつ元のウィンドウには「はい/いいえ」のボタンが存在しない場合です。
AutoMateの仕様により、対話機能にて指定されたウィンドウタイトルに合致するもののうち
一番最初にヒットしたウィンドウを参照します。
ほとんどの場合、ポップアップとして出てきたダイアログウィンドウよりも
その親となっているウィンドウが先に条件にヒットします。
そのため、虫眼鏡マークから設定してもウィンドウタイトルが被っているために
意図したウィンドウとは別のウィンドウの情報を参照しエラーとなってしまいます。
そちらの問題を回避するには、ウィンドウを指定する要素として
ウィンドウタイトルのほかにも「ウィンドウクラス」の部分にチェックを入れて
ウィンドウ指定の条件を厳しくします。
(ダイアログのポップアップは、ウィンドウクラスが「#32770」となっている場合が多く、ほとんどの場合元のウィンドウと区別可能です)
よくあるパターン2としては、テキストボックスにマウスを移動する際に
設定時と、設定後の単体稼働では成功するものの、通しでタスクを実行すると
その部分でエラーになってしまうパターンです。
そのような場合は、以下をご確認ください。
■「Value」の値にチェックが入っており、同じ値しか参照していない
ファイル保存ダイアログ等、
中のテキストが可変になっているテキストボックスを選択した際に起こりやすいのがこちらになります。
テキストボックス内に表示される最初のデフォルト値が可変の場合、
設定した時と同じテキストが表示されるわけではないので、オブジェクト プロパティの「Value」値に固定値が指定されていると
一致するものがないとしてエラーになってしまいます。
対象のオブジェクトに表示されるテキストが可変の場合は、「Value」値のプロパティのチェックを必ず外します。
対話機能で設定が出来るが実行時にエラーになってしまうという状況になった場合
座標操作への移行を考える前に、一度お試しください。