【前提】
webブラウザへの入力をUiPathを使って自動化しようとしています。
親画面からポップアップする子画面において、さらにポップアップする孫画面での入力を試みています。
アクティビティ:ブラウザを開く→親画面URL開く
以下、Do内で
アクティビティ:クリック→子画面を開くボタンを押す
アクティビティ:クリック→孫画面を開くボタンを押す
は問題なく動作し、無事孫画面を開けています。
【質問】
孫画面入力項目があるのですが、特殊な設定が必要なのでしょうか?
【現象】
孫画面で下記のじょうな状態が続いています
- アクティビティ:文字を入力→孫画面で文字入力項目を要素として指定
- セレクタエディタ内でidを確認→検証は緑色、画面内で一意のidであることをブラウザの開発者ツールと合わせて確認、かつ、ハイライトで対象項目が囲まれていることを確認
(*の出番はない)
- デバッグ
すると、「このセレクターに対応するUI要素が見つかりません」と出てしまいます。
・ためしに、孫画面において、単純なボタン項目を認識しないかを確認するため、アクティビティ:クリック→終了ボタンを押そうとしても、同様のエラーが発生しまいます=ボタンも認識しない
・UiExplorerで開き、選択していない項目をすべてチェックして「選択した項目」とした後、デバッグをしても同じエラーが発生します
お忙しいところおそれいりますが、知見がございましたらご指導いただけないでしょうか。
よろしくおねがいいたします
Yoichi
(Yoichi)
2
こんにちは
いくつかの要因が考えられますが、状況から例えば同様のトップレベルのセレクターを持つ
ウインドウが複数あり、想定と異なる方のウインドウを探しに行って結果見つからない、となって
いるケースがまず考えられます。(あるいはトップレベルではなくとも、同じ条件に合致する要素が
他にもあり、それを見に行っている可能性です)
上記の仮説の場合、まず孫画面の要素を指定する場合のトップレベルセレクターを確認
することになりますが、どのようになっていますでしょうか?
例えばurl等で他のウインドウと一意に識別できるなら、セレクター内にurl属性を追加する等で
問題を解消できる場合もあります。
早速のお返事ありがとうございます。
「ハイライト」ボタンを押すと、孫画面の該当項目が赤枠でかこまれているので、認識自体はできているという認識です。
URLは調査します、ご指摘ありがとうございます。
失礼しました、一度失敗するとハイライトも無効になっているので、認識できていないです。
URL調査を進めます!
1 Like
調査したところ、下記が判明しました。この追加情報で原因は絞れますでしょうか?
・子・孫ウィンドウはjava scriptでの表示であることがわかりました→子/孫のURLが簡単に取れない?
・アクティビティ「文字を入力」について、セレクタエディタで内容を確認してみました
- トップレベルセレクタはIPアドレスになっていました( url = ‘192.168.xxx.xxx’ )
なお、選択していない項目にはapp,htmlwindowname,titleがあります
- 要素を選択すると、トップレベルセレクタと、一番下位のセレクタの一部が選択された状態になっています(トップレベルセレクタ合わせて14行ほどセレクタエディタの列があります)
・全行の全項目を選択した項目にしてみたのですが、当初同様、要素が見つからないエラーとなります
Yoichi
(Yoichi)
6
こんにちは
Java Scriptでの描画とのことで、ウインドウではないということですね。
そうでしたらトップレベルセレクターの話はあまり関係がなくなります。
可能性としては、同様のHTML構造が複数あり想定の箇所を見に行っていない、指定している属性が動的に変化している、あたりが考えららますが...
いただいた情報だけですとなかなか状況を把握しにくいので、可能でしたらもう少し具体的なUiExplorerでの画面などを共有いただけると、良いかもしれません。(解決できるかは未知数ですが)
・全行の全項目を選択した項目にしてみたのですが、当初同様、要素が見つからないエラーとなります
and条件になりますので、どこか1つが見つからないと結局みつからないことになりますので、全選択自身は、このケースではあまり意味がありません。むしろ厳選して選択する必要があります。
UiExplorerの画面は下記添付のとおりになります。
なお、セレクタで指定している"searchTextbox"は、親、子、孫すべての画面で一意です(ブラウザの開発者ツールでDOM検索しました)
これで手掛かりになりますでしょうか?
1 Like
Yoichi
(Yoichi)
8
こんにちは
共有ありがとうございます。
共有いただいた画面で、まず気になるのはHTMLのツリーが2つあることです。
もうひとつのHTMLツリーは全く異なるシステムでしょうか?あるいは同じシステムでしょうか?後者でしたら、こちらを検索しにいっている可能性があるのではないかと思っています。
ご指摘をうけるまで、意識しておりませんでした。ありがとうございます。
内容を確認してみたところ添付図の通り、「ロール検索」という画面自体が二つのhtmlで構成されていました。そして、今回入力したい項目は下段のhtmlにのみ存在します。
上下のプロパティエクスプローラを見たところ、テキスト項目の他の違いは下記のみでした
(テキストは指定してみましたが、同様にうまくいきませんでした)
・position:セレクタなし
・relativeVisibility:上段がFalse、下段がTrue。セレクタなし
・url:後半が異なる→これを指定できればいける?
ただ、
・urlはセレクタエディタにおいて値変更をしようとしても、グレイアウトされており、変更できません。
・テキスト項目を指定したのですが、要素が見つからないエラーが同じく発生します
1 Like
Yoichi
(Yoichi)
10
こんにちは
UiPathはツリーの上位から検索しますので、今回の原因の仮説として、
2つのHTML要素が識別できずに、想定と違う方を見ている可能性があることです。
まず注目すべきは2つのHTML要素の部分に差がないかを確認する必要があると思います。
例えばどちらかに固有の情報があれば、それをセレクターに含ませることができますので
以前の画像をよくよく見てみるとurl属性の指定が*が複数ついているので、こちらを
厳密に指定すると良いのではと思います。
url属性がグレイアウトされているのはアタッチブラウザの内部のアクティビティで、セレクターエディタからUiExplorerを起動したからと思います。
UiExplorerを単独で起動すれば、編集が可能になると思います。
このクリックがアタッチブラウザの中にあるとすれば、ブラウザのアタッチの仕方(セレクターの指定方法)に問題があるかもしれません。
当件、解決しました。
解決方法は、別プロジェクトで作成しなおし、でした。
→新プロジェクトで該当アクティビティを作り直したところ、上記問題は発生しませんでした。
→問題が発生しているプロジェクトでは、UiExplorerをどこから開いても、該当箇所をクリックすると一番上のセレクタ情報が変更できませんでした
→問題が発生したプロジェクトでは、別シーケンスや別ワークフローで作り直しても同じ問題が発生しました
プロジェクトファイルのどこかに、誤った設定が残ってしまったのかもしれません。
その部分は気になるのですが、一旦、当件クローズさせていただきます。
ありがとうございました
2 Likes
system
(system)
Closed
12
This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.