セレクターの文字列化



「要素を探す」アクティビティでセレクターの値をuiElementにとり、その中の「tableRow=‘’」の値を取得したいのですがなぜかセレクターを文字列に起こした変数内にはtableRowが存在せず抜き取ることができません。原因と対処方法を伺いたいです。

こんにちは

シチュエーションが良くわかりませが、要素を探すで明示的にtableRowを示しているのであれば
その値を持ってくれば良いように思えますし、示していないのであれば、
属性を取得アクティビティで、そのUiElementを用いてtableRowをとってくれば良いように思えます。

Yoichi様
さっそくのお返事ありがとうございます。

取得した要素のセレクター(画像2枚目)を仮にuiという変数に置き、ui.Selector.ToStringで文字列に起こすと画像1枚目のように「tableRow」の値が省かれたものがui.Selector.ToStringに格納されているという状況です。
明示的にtableRowを示している際の値の持ってき方を改めて伺ってもよろしいでしょうか。
原因がわからないためどうしても解決ができなく困っているような状況です。

こんにちは

取得した要素のセレクター(画像2枚目)を仮にuiという変数に置き、ui.Selector.ToStringで文字列に起こすと画像1枚目のように「tableRow」の値が省かれたものがui.Selector.ToStringに格納されているという状況です。

これはUiPath側が、当該要素を特定するための情報として、最低限の情報しか(あるいはコストの小さい情報を優先して)持っているためと考えられます。そのため仕様と考えたほうが良いように思えます。
このUiElementを用いれば、必要な属性値は取得できると思いますが、不都合ありますでしょうか?

お返事ありがとうございます。
必要な情報は「tableRow」で、「tableRow」の情報は省かれているのであればこのUiElement(変数ui)内から「tableRow」の情報を持ってこれないように思うのですが、認識が間違っておりますでしょうか?

こんにちは

上記は、UiElement内の情報から取得するのではなく、UiElementを用いて、再度属性情報を取得するという意図です。

何度もお返事いただきありがとうございます。
以前Yoichi様が回答された「https://forum.uipath.com/t/topic/269756」こちらの式を使用するのかと思いやってみましたが上手くできませんでした。
今回の場合ですと別の書き方をしなければならないのでしょうか?

今回のケースはUIElementから出力されるSelector文字列に対象がありませんので、最初のPOSTに
記述しました

属性を取得アクティビティで、そのUiElementを用いてtableRowをとってくれば良い

となります。

また、そもそもですが、最初に自身でtableRowを指定してるのであれば、最初からそれを
保持しておけば良いのではないでしょうか?(あえてUiElementから取得する目的が
いまいち理解できていません)

Yoichi様
無事解決をしました。

「属性を取得」アクティビティアクティビティで
①該当箇所のセレクターを取得
②”属性”に"tableRow"を指定し
③出力変数を設定

で無事出力変数にtableRowの値を入れることができました。
uiPath始めたばかりで各アクティビティの使用方法がまだわからず混乱をしておりました。
丁寧に教えていただき本当にありがとうございました。

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.