Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
UiPath勉強会_コアなSelector説明
Search
一戸寿哉
December 20, 2017
Business
530
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
780
ガバナンスって知ってますか?
k_dash_riese
0
760
01_RPALT青森_青森支部について_20200309_01.pdf
k_dash_riese
0
600
02_RPALT青森_RPA初心者セミナー_20200309_02.pdf
k_dash_riese
0
700
地方課題と向き合う(株式会社リアルインベント:村岡さん)
k_dash_riese
0
800
01_RPALT仙台_仙台支部_20200204_02.pdf
k_dash_riese
0
510
02_RPALT仙台_RPA初心者セミナー1_RPAとは_20200204_01.pdf
k_dash_riese
0
560
03_RPALT仙台_RPA初心者セミナー3_RPAツール紹介_20200204_01_.pdf
k_dash_riese
0
580
RPAの利用状況、エラー分析
k_dash_riese
0
840
Other Decks in Business
See All in Business
KGモーターズ会社紹介資料_2026.10
kgmotors
0
32k
uniam_事業概要.pdf
uniam
PRO
0
920
向山純平 メニュー表 / Junpei Mukouyama – Professional Services
mj6237
3
320
シナジーマーケティング株式会社 採用ピッチ資料
synergymarketing
0
68k
株式会社レボルト採用deck
takemura_yuto
0
500
freeeの福利厚生と働き方
freee
PRO
1
110k
コミュニケーションは受け手が決める〜読まれる職務経歴書の作り方/Communication makes your career
ikuodanaka
8
1.1k
DNX Capital|Introduction Deck
natsumidnx
0
150
AIと働く実践 Agentがあなたの生産性を上げてくれない理由
ozakiomumkj
0
170
“隣のチームの改善の取り組み”を見える化 すれば、チームはもっと良くなると思っていた。同じ部署 19チーム・243件 の取り組みを見える化した記録と、見えてきた 壁と価値
hansodeeeeee
2
960
採用広報資料_2026年9月.pdf
gw_recruit
0
3.8k
【株式会社カオナビ】会社紹介資料 for business / kaonavi/introduction-for-business
kaonavi
0
87k
Featured
See All Featured
Fireside Chat
paigeccino
43
4.1k
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
2
2.9k
Typedesign – Prime Four
hannesfritz
42
3.2k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
620
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
18k
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
400
Art, The Web, and Tiny UX
lynnandtonic
304
22k
Un-Boring Meetings
codingconduct
0
450
Balancing Empowerment & Direction
lara
6
1.3k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6.1k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
730
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
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)で確認 まとめ