1
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【OpenRPA】初心者向け操作説明書~その4.セレクタ~

Last updated at Posted at 2021-05-18

今回はセレクタについて説明します。

セレクタってなに?

セレクタとは、OpenRPAがUI要素(ウィンドウとかボタンとかテキストボックスとか)を特定するための住所のようなものです。

例えば、OpenRPAの「削除」のボタンを特定するとしましょう。
image.png

電話越しに、この「削除」ボタンを押して!と伝えることを考えてみてください。

OpenRPAのウィンドウで、メニューの「一般」ってタブの中にある「削除」ボタンを押して!

こんな感じに伝えると思います。
セレクタも同じようなもので、〇〇ウィンドウの〇〇エリアの〇〇ボタンのようなイメージでUI要素を特定しています。

セレクタを見てみよう

その2.レコーディング編で作ったワークフローをベースにします。

「5」のボタンを押すアクティビティで、「セレクタを開く」を押してみましょう。
image.png

Selectorダイアログが表示されました。
image.png

これがセレクタです。

セレクタ
[
  {
    "isImmersiveProcess": "True",
    "applicationUserModelId": "Microsoft.WindowsCalculator_8wekyb3d8bbwe!App",
    "Selector": "Windows",
    "search_descendants": "True"
  },
  {
    "Name": "電卓",
    "ClassName": "ApplicationFrameWindow",
    "ControlType": "Window",
    "FrameworkId": "Win32"
  },
  {
    "Name": "電卓",
    "ControlType": "Window",
    "FrameworkId": "XAML"
  },
  {
    "ClassName": "LandmarkTarget",
    "ControlType": "Group",
    "FrameworkId": "XAML"
  },
  {
    "Name": "数字パッド",
    "ClassName": "NamedContainerAutomationPeer",
    "ControlType": "Group",
    "AutomationId": "NumberPad",
    "FrameworkId": "XAML"
  },
  {
    "Name": "5",
    "ClassName": "Button",
    "ControlType": "Button",
    "AutomationId": "num5Button",
    "FrameworkId": "XAML"
  }
]

なんだかいろいろと英語の文字列がたくさん書かれていますが、ざっくり説明すると

電卓アプリケーションの、「電卓」というFrameの中の、「電卓」というWindowの中の、LandmarkTagetというGroupの中の、「数字パッド」というGroupの中の、「5」というButton

を示しています。

FrameとかGroupとか、見た目からはわからないものがあるのでちょっとややこしいですが安心してください。
イチからセレクタを書くことなんてありません。
レコーディング機能などで勝手に上記の内容を生成してくれるので、「へー、こんなふうになってるんだ」くらいに思っておけば大丈夫です。

強調表示してみる

「強調」ボタンを押してみましょう。

image.png

すると、現在のセレクタに合致するUI要素が、赤くなります。

image.png

セレクタをいじってみよう

セレクタは編集することができます。
ちょっとやってみましょう。

この部分を

変更前
  {
    "Name": "5",
    "ClassName": "Button",
    "ControlType": "Button",
    "AutomationId": "num5Button",
    "FrameworkId": "XAML"
  }

こうします。

変更後
  {
    "Name": "6",
    "ClassName": "Button",
    "ControlType": "Button",
    "AutomationId": "num6Button",
    "FrameworkId": "XAML"
  }

「強調」ボタンを押してみましょう。

image.png

「6」のボタンが強調表示されましたね。
これで、このシナリオは「6+8=」が実行されるようになりました。

一覧からセレクタを変更する

手動ではなく、一覧からセレクタを変えてみます。

「5」のボタンを押すアクティビティで「セレクタを開く」を押し、Selectorダイアログを開きます。

Selectorダイアログの左のツリーを見ると、今開いているアプリケーションとそこに含まれるオブジェクト(ボタンとかテキストボックスとか)が表示されます。

image.png

このツリーから、目的のボタンなどを選択することができます。

Window 電卓 > Group unknown > Group 数字パッド NumberPad > Button 9 num9Button を右クリックし、「要素を選択」を選択後、右下の「OK」ボタンを押します。

image.png

これで、このシナリオは「9+8=」が実行されるようになりました。

おわりに

セレクタの説明は以上です。

1
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?