Help us understand the problem. What is going on with this article?

UiPathのレコーディングに関するQ&A ※随時更新

More than 1 year has passed since last update.

 UiPathでワークフローを組む場合、まずレコーディングでPC操作をアクティビティに落とし込み、
それをベースに変数/ループ/分岐などを入れながら仕上げてゆくのが基本なので、
とっかかりとなるレコーディングを使いこなせれば効率的にワークフローを組んでいけます。

「レコーディングをやってみよう」的なチュートリアルは色んな方が書かれているので、
ここではレコーディングの実践中に自分が詰まったポイントと対策を、
"自分がわからない=皆もわからないはず"という勝手な理屈でQ&A形式でリストアップしてみます。

※思い出した都度、少しずつ追記していきます。

Question Answer Comment
どのレコーディング機能を使えばいいの? 使い分けをフローチャートで描きましたので見て下さい 後述の記事参照
右クリックが記録できない・・・ F2(一時停止機能)を活用 類件:レコーディング中にスクロールバーが動かせない
ナントカAnchorダイアログがウザい 基本Noでいいです Do you want to use an Anchor?

で、結局どのレコーディング機能を使えばいいの?

UiPathでは①Basic/②Desktop/③Web/④Citrixの4つのレコーディングモードがあり、
毎回どれを使うべきか悩むので、↓のようにフローチャートにしてみました。
bunki.png

③Webレコーディング

 コレが一番わかりやすい。ブラウザでのWeb操作ならWebレコーディング。
図中の"(※)"で記したHTMLベースというのは、簡単に言うと
ブラウザ上で右クリック→"ソースの表示"で裏のHTMLタグが見えるものを指します。
大抵のWebはこの類ですが、世の中にはそうじゃないFlashやJava appletで組まれた
妙なWebシステムもあり、その場合もWebレコーディングは継続できますが、
裏ではDesktopレコーディングが実行されます。

①Basicレコーディング vs ②Desktopレコーディング

これはさすがにわかりにくいのか、公式のナレッジベースでも違いが解説されてます。

レコーディングの結果としてBasicでは1つ1つのアクティビティが完全セレクターで実装され、
一方Desktopではコンテナ(Window Scope)+部分セレクターで実装され、
みたいな話がありますが、イメージは↓のような感じです。

selector.png

 これだとBasicレコーディングに良いとこ無いように見えますが、
自分の経験として、Desktopで生成したワークフローだと操作に失敗したのに、
Basicのワークフローだと操作できた例がある(逆パターンもありますが)ので、
Basicモードを活用する機会はあります。

もはやレコーディングでも何でもない④Citrixモード

レコーディングボタンが無いじゃん。
このモードは「Click ImageやClick OCR Textアクティビティをウィザード形式で実装できるよ」的な
お便利機能だと思ってます。

ちなみにUiPath AcademyではVDIやRemote Desktop先のPCを操作する時に使うとありますが、
画像認識やショートカットキーでしか操作できないような使い方をするくらいなら、
素直にVDI先のマシンにUiPath入れちゃった方が良いと思います。
図中の"違うやり方を考える"というのはそういう意味です。

右クリックが記録できない・・・

公式でも右クリックやショートカットキーはレコーディング不可と説明があります。

アプリケーションの右クリックメニューを操作するシナリオをレコーディングしたくても、
レコーディング中に右クリックすると即レコーディングが終わってしまいます。

ここで使うのが"F2"ボタンです。
レコーディング中(正確に言うとIndicate on screen、対象が青枠で選択されるモード中)に
F2ボタンを押すと、3秒だけレコーディングが一時停止され自由に操作できます。
(一時停止中は画面右下に3→2→1→0とカウントダウン表示されます)
 count.png

さっきのシナリオをレコーディングするには、
 ①左クリック(※後で右クリックに手動で変更)
 → ②F2で一時停止
 → ③一時停止中に右クリックしてメニューを出しておく
 → ④3秒後にレコーディングに戻ったらメニューを操作
で一旦ワークフローに落とした後、
①のClickアクティビティのプロパティをBTN_LEFT → BTN_RIGHTに変更すれば完成です。
 mouse.png

F2による一時停止はレコーディングで必須のテクニックなのでぜひ覚えましょう。
似たような案件で、レコーディング中は
「押したいボタンが下のページに隠れてるのに、Page Downキーや縦スクロールバーが動かせない」
「マウスオーバーで出てくるサブメニューやバルーンを出したいけど出てこない」
などありますが、これらもF2を使えばなんとかなります。

あとここまで書いといてなんですが、
F2はレコーディングの一時停止というよりはIndicate on screenの一時停止なので、
Attach to live elementやUi Explorerでの選択時など汎用的に使えます。

途中で出てくるナントカAnchorダイアログがウザい

毎回一度は出てくるこのダイアログ
Anchor.png

自動的に生成されるSelectorの信頼性が低いので、別の信頼できるSelectorのオブジェクトを
Anchor(よりどころ)として、そこからの相対位置で操作しろ、という話。

ただ、基本はNoで良いです。理由は2つあって、
①Indicate Anchorを選んでもAnchorを指定できないケースが多い(↓のエラーが発生)
 error.png

②Anchorを指定しなくても成功する事が多い、又はSelectorの工夫でなんとかなる

これに尽きます。
Indicate Anchorができたとして、↓のようにAnchor Baseを使った大掛かりな仕掛けになるので
単独アクティビティでSelectorを工夫した方が保守性も良いと思います。
anchorbase.png


今回はここまで。
前回の投稿から日が経ってしまいましたが、Minecraft始めたらそればっかりやっちゃって
家でUiPath触る時間が無くなってしまったという情けないオチです。
それではいかんので、レコーディングネタを思いついた都度、記事の内容を追記していきます。

UmegayaRollcake
UiPath Academyの外堀を浅く埋める形でUiPathネタを書いていこうと思ってます。
https://www.youtube.com/channel/UCdo1xFEK-wRiVIQDs2cdvUg
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away