見出し画像

【UiPath StudioXの遊びかた18】逐条編 ⑮YouTubeで遊ぼう④~セレクターはConfigファイルで管理しよう~完全に個人のお遊びレベルだが、やると管理しやすくなる手法

さてと、前回、

で、検索キーワードで検索まではやって、

セレクターの数も増えてきたので~~~

でやった

ソース・リファクタリング

の一環で、どこの現場でも、

(動けばいいの素人以外は)必ずやってる作法

をやっていこう( ´∀` )


結構、この連載だけでも既に何回か書いてるんだけど、

職人は必ずやってるが、素人は30年かかっても必ずやっていない、コードベースの開発なら基本中の基本

ハードコーディング(=直書き)の禁止
☞パラメータ化

って手法なんだけど、

例えば、前々回で取得した要素

Edgeが開いたかを確認する要素の確認だけでも
ターゲットの中を見るだけでも

あいまいセレクターと、厳密セレクターってセレクター箇所が2つある👀💦

Studioでは見たことがない( ´∀` )

中身を見ていくと、、、

◇あいまいセレクター

"<ctrl name='新しいタブ' role='document' /><ctrl automationid='' role='grouping' check:fulltext='4' />"

◇厳密セレクター

<ctrl name='新しいタブ' role='document' />
<ctrl idx='5' role='grouping' />

って感じではっきし言って、

別に厳密セレクター1個でよくね👀❓

って感じなんで~~~前回までで取得したセレクターを全部、

あいまいセレクターは消す

今までどおりに動くかを確認

動いてんね( ´∀` )

消した後で実行しても、

動いてんね( ´∀` )

セレクターの設定はひとつが良い理由

見てわかるとおり、

セレクターが2つある + 編集が出来ちゃう
=2元管理になる☞片方だけ書き換えてもう片方を忘れたりしちゃうと、

エラー=バグの温床になる

しかも、、、厳密セレクターだけでやったところで、

見てわかる通り、

プロパティのセレクター欄の幅がちいちゃ過ぎて、
パッと見では何が入ってるか分からない
☞分かりやすいプラットフォームにする気あんのか( ´∀` )
=頭でっかちなデザイン知らない設計だね( ´∀` )

なので、現場で上手い人は、セレクターはソースに直書きしたままにしない

ノートブックにセレクター用のシートをひとつ増やし、
みたいな感じで全て外に出して
てな感じでExcelの値としてここもやっちゃうけどね~~~

で、実行しても~~~

てな感じ( ´∀` )

こーしておくと、

  • セレクターの要素を確認しやすいので、WEBサイト側でボタン位置なんかが変わったときにも、どこを直せばいいかExcel見るだけで分かりやすい

  • 他の離れた箇所で同じセレクター操作をするときにも、同じものを設定すれば足りる=要素が変わったときに、いちいち複数個所を直さなくてよくなる

そして何より、(ここではやらないけど)サイトを開いて、検索キーワードを入力し、検索するって手順は、Yahoo!でもメルカリなんかでも同じなので、

セレクターシートの各セルの値を変更してあげるだけで実は対応できちゃうんだよね~~~~
=わざわざ全部のセレクターをアクティビティごと取り直さなくていい
☞開発作業コストがめっちゃ減る

以上。

ま、動けばいいの素人ちゃんほど

こーいった手法を説明しても、すぐに実践しようともせず、処理時間とか作成時間を気にする割に、自分からわざわざ管理しにくい方を選ぶ。そして、ロボットなんて、所詮、

  • WEBサイト側のレイアウト変更

  • WindowsPC側の一時的な不具合

  • ネットの一時通信不良

なんかでいくらでも影響を受けて、異常終了するなんてザラだから、

◇上手なエンジニア:

ロボットはコケるもんだと、安全にコカす方法をソースに組み込む。
☞所詮は、他のアプリやWEBサイトを利用する開発環境だから、完全などない。所詮は、ロボット

「ロボを止めても、事故は起こすな」って格言があるくらい。

◇素人の集まり:

エラー拒否症候群でロボットの異常終了に対する対処を無駄に入れて、却って、処理しちゃいけないところまで勝手に処理するようなロボを作ろうとする=エラーや異常終了を起こさなければいいと思っている。

「ロボを止めずに、事故を起こす」になっている( ´∀` )

例えば、「インターネットの回線が止まったり遅延でYouTubeが開けない」ならば、

ロボをコカすのが普通だし、ネットの影響なら仕方ないかで済む話なのに、異常終了が許せない素人は、嘘みたいな本当の話だけど、それをわざわざ、

YouTubeが開くまで延々何時間もアクセスし直しに行く
☞無駄の極みでしょ
異常終了とかコカさないければいいってものじゃないからね( ´∀` )

自称、UiPathのプロとか10年くらいやってます!みたいな素人とかマニアちゃんに限ってこーゆーことをやらかすからね~~~どこの職場でも似たようなことをやってる。

経験年数とか作ったロボの数ではなくて、

管理手法とか品質を常に意識して製造してるかどうかなんだよね( ´∀` )
個人でも組織でも( ´∀` )

あしかけ7年目で素人集団の中でやってるだけと、
品質管理や育成までしっかり行き届いてた組織や職場で数カ月やる

ってだけで、雲泥の差が付くからね。
てか、

好きでマニアックに努力とお勉強だけをした、
頭でっかちなだけな自分をプロと勘違いしてる自称、プロ
👉ただのマニアか素人

ほど、実際の現場で厄介なものはないからね( ´ ▽ ` )

さてと、次回は、

YouTubeで表抽出できるかどうかで遊ぼっと( ´∀` )

じゃまた、次回( ´∀` )
明日はじっくりSwiftUIの続きの記事で温泉で終わりだね~~~
オイラ、別に、UiPathの専門じゃないし、そこまでやる気も覚える気もないから、オイラより専門を自負してる人がこーゆー活動はやればいいのにね( ´∀` )

いいなと思ったら応援しよう!