特定の文字列が含まれている要素を安定して取得する方法について

Description

いつもお世話になっております。

現在、Webフォームに対してRPAを構築しており、
「*(アスタリスク)」が付いている項目名だけを抽出したいと考えています。

【やりたいこと】
・フォーム上に表示されている項目名のうち、「*」が付いているラベルだけを取得したい
・取得したラベル名から「*」を除去し、キーとして後続処理(CSVや社内システムから値を取得し、入力)に活用したい

【実装方針】
・親要素に対して Find Children を使い、子要素を走査
・各子要素の aanameGet Attribute で取得し、.Contains("*") で絞り込み
・そのラベルから * を除去して .Trim() して使用

【知りたいこと】
・このような実装方針で安定した動作が可能でしょうか?
aaname* が含まれていない場合、他に見るべき属性やUI構造の工夫があれば教えていただきたいです

よろしくお願いいたします。

Link

Activities - Find Children

Date

2025-04-17

Related UiPath products

Studio

こんにちは

対象文字がセレクターのワイルドカード文字と被っているためのアプローチと推察します。
処理の流れは特に問題ないように思えますがFindChildrenのFilterを適切に設定しないと(できないと?)処理速度の問題がでるかもしれません。
あとaanameは対象文字列が長いと切られますので、属性はinnerText等の方が良いかもです

他にもForEachUiElementでイテレートする方法や、JavaScriptで処理する方法等もあるかもしれません。

1 Like

ご返信頂きありがとうございます!フィルター設定をどのようにすればよく分からず、
Find Children での要素取得がうまくいかなかったため、
While でループを回して
Get Attribute で innerText を取得、
その中に「*」が含まれていればリストに格納、
ListRow をインクリメント、という流れで無事に取得できました。
(*は無事に文字列として認識してくれました)
セレクターの良い勉強となりました
ご回答頂きありがとうございました

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