Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
UiPath勉強会_コアなSelector説明
Search
一戸寿哉
December 20, 2017
Business
510
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
UiPath勉強会_コアなSelector説明
一戸寿哉
December 20, 2017
More Decks by 一戸寿哉
See All by 一戸寿哉
仙台・青森支部~地域課題と向き合うRPA~
k_dash_riese
0
760
ガバナンスって知ってますか?
k_dash_riese
0
740
01_RPALT青森_青森支部について_20200309_01.pdf
k_dash_riese
0
600
02_RPALT青森_RPA初心者セミナー_20200309_02.pdf
k_dash_riese
0
690
地方課題と向き合う(株式会社リアルインベント:村岡さん)
k_dash_riese
0
790
01_RPALT仙台_仙台支部_20200204_02.pdf
k_dash_riese
0
480
02_RPALT仙台_RPA初心者セミナー1_RPAとは_20200204_01.pdf
k_dash_riese
0
550
03_RPALT仙台_RPA初心者セミナー3_RPAツール紹介_20200204_01_.pdf
k_dash_riese
0
580
RPAの利用状況、エラー分析
k_dash_riese
0
800
Other Decks in Business
See All in Business
Brush Company Deck ver1.0
brush2026
0
640
FIGEO採用ピッチ資料
figeohr
0
310
AIを意識した経営・執行の設計と実行
kan
4
4.1k
CMB.TECH earnings call Q1 2026
cmbtech
PRO
0
1.7k
ブランディングサービス紹介資料《抜粋版》
brandingtechnology
0
320
紹介パートナー様向け 紹介手数料プランとご登録手順のご案内(マルコポーロ)
kimete
0
300
パーソルクロステクノロジー_DXソリューション本部のご紹介 / Introduction_of_dx
pxt_gs_ssol
0
2k
jpax-introduction
jpax
0
1.1k
株式会社SAFELY 会社紹介 / Company
safely_pr
1
7.2k
三井物産グループのデジタル証券~イオン大宮~徹底解説セミナー
c0rp_mdm
PRO
0
1.7k
CEOの価値観を言語化することでメンバーの心を動かすマネジメントを体得するワークショップ
nagam3618
1
180
ログラス会社紹介資料 / Loglass Company Deck
loglass2019
17
550k
Featured
See All Featured
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
170
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.2k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.8k
ラッコキーワード サービス紹介資料
rakko
1
3.6M
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
480
Done Done
chrislema
186
16k
Automating Front-end Workflow
addyosmani
1370
210k
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
310
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
160
Prompt Engineering for Job Search
mfonobong
0
340
Claude Code のすすめ
schroneko
67
230k
A designer walks into a library…
pauljervisheath
211
24k
Transcript
UiPath勉強会 セレクター編 (第3回RPAセミナー) -RPAコンサルタントグループ- 2017/12/20 Kazuya Ichinohe コアなSelector説明
▪自己紹介 ▪名前 一戸 寿哉(いちのへ かずや) ▪年齢 ほぼ34歳 ▪経歴 2006/4~ 大手メーカーの子会社SIer
2017/3~ 某外資系コンサルティングファーム →UiPath歴 9ヶ月 ▪趣味 バスケ、カラオケ(アニソン中心)
▪前置き v2016.2.6274 ベースでお話しします。
セレクターって、具体的に何?
ここに文字を入力したい
Clickすると Type into を 使う
マウスポインタを合わせると 画像やボタン等が認識される
マウスポインタを合わせると 画像やボタン等が認識される
左クリックで決定
画像が設定される この画像で場所を特定 している訳ではない 場所が特定できた
Type intoアクティビティの プロパティを開いてみる Target > Selector …をClick
エレメント抽出に用いる属性項目の指定 エレメント抽出に用いる属性項目を追加編集することも可能 ▪Selector Editor(復習) エレメント選択が必要なActivityにおいては、Selectorプロパティをクリックするこ とで、下記のようなSelector Editorが起動されます。こちらで、エレメント特定 に利用するキー項目を選択、追加することが可能です。 Type intoや
Clickなど
IEでF12を押すと
画像などを特定する情報 が表示される(HTML) セレクターはこれと 似たような考え方のもの。 Elementを特定するための情報。
このセレクターで特定の場所 (Element)を認識している
さて、
なぜ、セレクターがテーマに? なぜ、みんな気にする?
セレクター周りはエラーが多い 。・゚・(ノД`)・゚・。
なぜエラーが多い?
気をつけるポイントが多い
▪Tips(復習) SelectorでUI element(オブジェクト)がうまく 特定できない 例えば、前回こんなTipsがありました その対応方法は、
▪対応方法 Selectorを利用する上でのbest practice一覧は以下です。 - selectorの要素(attributes)は安定的かつ該当業務上で意味のある値にしてください ※人が該当システムを操作する際に、オペレーションの判断に使う項目をattributesに定義します - 変動する値には以下のワイルドカードを利用してください ※例参照 "*":
ゼロ文字から複数文字を表す "?": 1文字を表す - ある要素の値がすべてワイルドカード(たとえば、name=*)の場合、その要素はseletorとしての役割を果たさな いので削除してください(ただし、削除しなくても動作上問題はありません) - 要素の編集で改善が見られない場合、中間containers(中間elements)を追加してください - idxは画面の変更によって変動する可能性が非常に高いため、極力利用を避けてください (手順) ファイル名が動的に変化するNotePadファイルをロボに処理させる場合の一例です。 1. NotePadを開きます 2. RecorderでSelectorを生成します 3. 任意のファイル名のNotePadを開きます 4. Selector Editorの「Attach to Live Element」を押下します 5. ファイル名がワイルドカードに置き換わります ワイルドカード利用前後のSelectorの変化は以下です。 利用前:<wnd app='notepad.exe' cls='Notepad' title='United - Notepad'/> 利用後:<wnd app='notepad.exe' cls='Notepad' title='* - Notepad'/>
( ゚д゚)ポカーン
気をつけるポイントが多い のに、具体的な説明・対策が 少ない! というのが現状
そこで、
エラー対処法を なるべく具体的に紹介
Type intoのセレクター <html title=‘施設予約システム’ /> <webctrl idx=‘1000’ tag='INPUT' /> エラー例
問題なかった画面がある日突然、セレクターエラーに
ちなみに、↑がいわゆるセレクターのエラーです。 SelectorNotFoundException #よく見ることになるでしょう…
エラーが起きたら、どうする?
調べる
どうやって?
UiExplorer を使う
UiExplorer ここ
Click UiExplorer
問題の箇所(セレクタで取れなかった場所)を指定する UiExplorer
指定した Elementの セレクターが 取れる UiExplorer
エラーになったセレクターと 比べてみる
Type intoのセレクター <html title=‘施設予約システム’ /> <webctrl idx=‘1000’ tag='INPUT' /> UiExplorerで取れたセレクター
<html title=‘施設予約システム’ /> <webctrl idx=‘1001’ tag='INPUT' /> 微妙に変わってる! エラー例 問題なかった画面がある日突然、セレクターエラーに
Type intoのセレクター <html title=‘施設予約システム’ /> <webctrl idx=‘1000’ tag='INPUT' /> 対処①
idxを合わせる(非推奨) UiExplorerで取れたセレクター <html title=‘施設予約システム’ /> <webctrl idx=‘1001’ tag='INPUT' /> 現状のidxに合わせる(0⇒1)
セレクタの修正 手入力で 1000 ⇒ 1001
▪対応方法 Selectorを利用する上でのbest practice一覧は以下です。 - selectorの要素(attributes)は安定的かつ該当業務上で意味のある値にしてください ※人が該当システムを操作する際に、オペレーションの判断に使う項目をattributesに定義します - 変動する値には以下のワイルドカードを利用してください ※例参照 "*":
ゼロ文字から複数文字を表す "?": 1文字を表す - ある要素の値がすべてワイルドカード(たとえば、name=*)の場合、その要素はseletorとしての役割を果たさな いので削除してください(ただし、削除しなくても動作上問題はありません) - 要素の編集で改善が見られない場合、中間containers(中間elements)を追加してください - idxは画面の変更によって変動する可能性が非常に高いため、極力利用を避けてくだ さい (手順) ファイル名が動的に変化するNotePadファイルをロボに処理させる場合の一例です。 1. NotePadを開きます 2. RecorderでSelectorを生成します 3. 任意のファイル名のNotePadを開きます 4. Selector Editorの「Attach to Live Element」を押下します 5. ファイル名がワイルドカードに置き換わります ワイルドカード利用前後のSelectorの変化は以下です。 利用前:<wnd app='notepad.exe' cls='Notepad' title='United - Notepad'/> 利用後:<wnd app='notepad.exe' cls='Notepad' title='* - Notepad'/> 非推奨の理由
対処② idx以外の値を使う(推奨) idx以外にもセレクタで使える値がたくさんある。 idx のチェックを外して name のチェックを入れる 生成されたセレクターを アクティビティの Selectorプロパティにコピペ
name、aaname等はシステム改定があっても 変わらないことが多い(少なくともidxよりは)
設定したセレクターが ちゃんと効いてるか調べる
Click もうひとつのUiExplorerを起動手順 Selectorプロパティのポップアップから起動できる。
セレクターが正しければ、UiExplorerが起動する。 正しくなければ、起動しない。
UiExplorer上でセレクターを調整後、正しく狙った 場所を設定できているかを確かめる。 Visual Tree の Highlight をクリック
現在のセレクターが指し示す場所がハイライトされる
対処③ ワイルドカードを使う idx以外の値も、変わってしまうことがある。例えばExcel。 Selectorを取ってみると、
name=‘Book1’
その後、別のExcelに同じ処理をしようとしたが、 エラー(SelectorNotFound)となった。 Selectorを取ってみると、
name=‘Book2’ Book までは共通で、 それ以降の数字部分は 無視したい
そんなときは、ワイルドカード Book* と記載することで、Book1でも、Book2でも、Book3でも、 セレクターが認識できるようになる。 Excelを処理するロボットを作ると、たいていこのnameの部分が原因で セレクタエラーになるので、作成時に注意が必要。 nameの良い例) *仕様書.xls A報告書_*.xls
▪対応方法 Selectorを利用する上でのbest practice一覧は以下です。 - selectorの要素(attributes)は安定的かつ該当業務上で意味のある値にしてください ※人が該当システムを操作する際に、オペレーションの判断に使う項目をattributesに定義します - 変動する値には以下のワイルドカードを利用してください ※例参照 "*":
ゼロ文字から複数文字を表す "?": 1文字を表す - ある要素の値がすべてワイルドカード(たとえば、name=*)の場合、その要素はseletorとしての役割を果たさな いので削除してください(ただし、削除しなくても動作上問題はありません) - 要素の編集で改善が見られない場合、中間containers(中間elements)を追加してください - idxは画面の変更によって変動する可能性が非常に高いため、極力利用を避けてください (手順) ファイル名が動的に変化するNotePadファイルをロボに処理させる場合の一例です。 1. NotePadを開きます 2. RecorderでSelectorを生成します 3. 任意のファイル名のNotePadを開きます 4. Selector Editorの「Attach to Live Element」を押下します 5. ファイル名がワイルドカードに置き換わります ワイルドカード利用前後のSelectorの変化は以下です。 利用前:<wnd app='notepad.exe' cls='Notepad' title='United - Notepad'/> 利用後:<wnd app='notepad.exe' cls='Notepad' title='* - Notepad'/> この部分の話でした
対処④ 上級編 変数を使う 下記のような変数を含めたセレクタを、あらかじめ テキストエディタで用意 "<html title='施設予約システム' /><webctrl name='" +
strIDName + "' tag='INPUT' />"
対処④ 上級編 変数を使う …ではなく、テキストボックスを Clickしてセレクタを入力 テキストエディタで用意したセレクタをコピーし、 下記のテキストボックスにペーストする その後、…をクリックすると
Selectorプロパティに変数を設定すると、起動するウィンドウが、 Selector Editor から Expression Editorに変わる 変数設定時 変数設定しない場合 (デフォルト)
変数については難しくなるので 今日はここまで…
・ElementはSelectorで認識される ・エラーが起きたらUiExplorer ・idxは極力使わず、name等を使う ・Selector Editorでチューニング ・Selectorの指定は 固定値・ワイルドカード・変数 がある ⇒Excelはファイル名にワイルドカード name例)
*仕様書.xls A報告書_*.xls ・チューニングしたら、またUiExplorer(Higjlight)で確認 まとめ