tosh
1
お世話になります。
Recordingの「Click」を使ってアプリケーション上のボタンをクリックする処理を作成しましたが、実行すると「SelectorNotFoundException」でエラーになりました。
アプリケーションが起動している状態でUiPath Explorerを起動し、該当するボタンを探しましたが、見つかりませんでした。そこで、「Select Target Element」でボタンを選択すると、UiPath Explorer上に表示されました。
表示されたセレクターの内容を「Click」処理のセレクターにコピペし、再び実行しましたが、同じエラーになりました。また、UiPath Explorerをリセットすると、ボタン表示は消えてしまいました。
ボタンを選択した時にはセレクターが取得できるのに、実行時にはセレクターが見つからず、UiPath Explorerでも表示されないのはなぜでしょうか?また、このようなボタンをクリックするにはどうすれば良いでしょうか。やはり「Click Image」を使うしかないのでしょうか・・・
rkelchuri
(ER.Krishna)
2
ボタンのスクリーンショットとセレクタを投稿できますか?
可能であれば、WFをアップロードしてください。
私はちょうど興味があります、あなたはWebアプリケーションまたはスタンドアロンアプリケーションを使用しています。
tosh
3
すみません。
業務上の守秘義務で、スクリーンショットとWFは投稿できません。
スタンドアロンのアプリケーションで、CADソフトです。
セレクターの内容を以下に記します。
tosh
4
セレクターの内容の書き込みに失敗したので、もう一回。
wnd app=‘tune.exe’ cls=‘Afx:’ title=‘Process Simulate 13.1.2 - [cycle_inspect_150925_np.psz]’ />
wnd cls='BCGPRibbonBar:3f1d’ title=‘TuneAFW’ />
ctrl name=‘閉じる(C)’ role=‘push button’ />
rkelchuri
(ER.Krishna)
5
このセレクタを使用してください
wnd app = ‘tune.exe’ cls = ‘Afx:’ title = ‘Process Simulate **’ />
wnd cls = ‘BCGPRibbonBar: 3 f 1 d’ title = ‘Tune AFW’ />
ctrl name = ‘Close **’ role = ‘push button’ />
tosh
6
すみません、書き忘れました。
タイトルのバージョン名とファイル名をワイルドカードにする対策は、以前試したのですがうまくいきませんでした。
tango
7
@tosh さん
<ctrl name=‘閉じる©’ role=‘push button’ />
この(c)はフォーラムの投稿の都合だけでなく実際にも©ですか?プログラミングで使う文字ではないので、UiPath Explorerの表示がすでに文字化けして©に見えているだけかなと思いました。
ワイルドカードにするといいかもしれません。
rkelchuri
(ER.Krishna)
8
インデックス(idx値)を使用することをお勧めします
tosh
9
tangoさん
セレクターでは「閉じる(C)」です。コピペする際に化けたようです。
rkelchuriさん
ありがとうございます。
idxについてはよく知らないのですが、試してみます。
tosh
10
どうしても「カッコC」が©に化けるみたいですね・・・
tango
11
@tosh さん
(c)を半角で打つとフォーラムが置換しちゃってますね。
閉じるの右はショートカットの表記ですね。手持ちのアプリでショートカットの文字列が入ったボタンでテストしたのですが今の所再現していません。ただアプリによって見えない文字がセレクターで入っているのはありました。
<wnd ctrlid='1010' title='詳細設定(&R)' />
(ショートカットの指定はそのようにプログラミングした遠い記憶があります)
この場合もレコーディングした上記セレクターで動きました。
謎です。。。
tango
12
投稿してからアッて思ったのですがショートカットのcをsend hotkeyでアプリに送ればボタンのセレクタを回避できるはずですね。
rkelchuri
(ER.Krishna)
13
はい、可能です。 ショットカットを作成するには、アプリケーションのデフォルトのフォーカスを観察し、ホットキータブを送信してボタンにフォーカスを移す必要があります。 一度ボタンにfocuを取得すると、入力ホットキーを使用して、ロボットによってボタンを有効にすることができます。
tosh
14
tangoさん
「send hotkey」を使ってキーで操作するのは、「苦肉の策」としてはアリなのですが、
問題のアプリケーションでは、ほとんどのボタンでセレクターによるクリックができないので
やはり根本的な解決策が必要なのです・・・