ツリー モード

[ロボット定義] ペイン[ツリー モード] 領域を使用して、ロボットで使用される [ツリー モード] を定義します。ナビゲーションとコンテキスト メニューのオプションについては、ロボットの編集 を参照してください。

[ツリー モード] により、アプリケーションのツリーの生成方法を定義します。

[ツリー モード] の定義は、[レコーダー ビュー] でアプリケーション タブのタイトルまたはコンポーネントを右クリックして作成することができます。

ツリー モードの管理については、次のトピックを参照してください。

アプリケーション ツリーの生成

Kofax RPA は、アプリケーション ツリーを生成するいくつかの方法を提供します。デフォルトでは、Kofax RPA は、ロボットが動作しているアプリケーションのタイプ (Windows アプリケーション、ターミナル組み込みブラウザ) を検出し、このアプリケーションのツリーを自動的に形成します。

また、[ツリー モード] は、自動化されたアプリケーションのオプションを選択する場合に役立ちます。たとえば、組み込みのブラウザで作業しているときに特定の要素のツリー モードを ISA オプション に変更して、堅牢なファインダーを作成することができます。

ツリー モードの追加

  1. [ツリー モード] 領域が展開されていない場合は、下矢印をクリックすると上矢印に変わります。

  2. 定義が存在しない場合は、[ツリー モードを追加] ボタンをクリックするか、コンテキスト メニューを右クリックして [ツリー モードを追加] を選択します。

  3. 定義が存在する場合は、次のいずれかの方法を使用します。

    • 既存のエントリの後に追加するには、緑色のプラス記号をクリックします。

    • 既存のエントリの間に追加するには、前のツリー モードを選択し、[下を追加] を選択して新しいエントリを挿入します。

    • 既存のリストの先頭に追加するには、先頭にポインタを置き、コンテキスト メニューから [ツリー モードを追加] オプションを選択します。

  4. ドロップダウン リストから、次の ファインダー エントリを入力します。

    1. [デバイス] ドロップダウン リストからデバイスを選択します。

    2. [アプリケーション] 名を入力します。

    3. [コンポーネント] 名を入力します。

  5. [ツリー モード] ドロップダウン リストから、次のモードのいずれかを選択します。

    • ISA: プログラム インターフェイスのグラフィカル表示からインターフェイス要素を決定する、ユーザー インターフェイス (UI) 認識が有効になります。このモードは、オートメーション API を提供しないプログラムで使用できます。
    • [Windows]: Windows オートメーション API を使用して生成されたウィジェット ツリーにオプションを提供します。
    • [ツリーなし]: アプリケーション ツリーを生成しません。ロボットがツリーを抽出しようとした際に不安定な動作をするアプリケーションには、このオプションを使用します。

ツリー モードの変更

アプリケーションおよびコンポーネント レベルでツリー モードを変更します。

  • コンポーネントのツリー モードを変更すると、そのコンポーネントのネストされた要素はすべて、選択したモードを使用して自動的に設定されます。

  • コンポーネントのツリー モードを変更すると、ファインダーの [コンポーネント] フィールドのアスタリスクが、選択したツリー モードに置き換わります。

    コンポーネント タグの der_tree_mode プロパティには、次のいずれかの値を入力します。NoneISAWindows, Auto

  • コンポーネントのツリー モードをアプリケーションレベル モードに戻すには、[コンポーネント] フィールドにアスタリスクを挿入します。

ツリー モードの削除

定義を削除するには、[ロボット定義] ペインの [ツリー モード] 領域を使用します。ナビゲーションとコンテキスト メニューのオプションについては、ロボットの編集 を参照してください。

[ツリー モード] 領域でデバイスを右クリックし、[削除] をクリックします。

ISA オプション

ISA (インテリジェント スクリーン オートメーション) オプションは、UI 要素と図形を自動的に検索することで、拡張されたスクリーン認識機能を提供します。

アテンデッド オートメーションでインテリジェント スクリーン オートメーション (ISA) を使用しないでください。

ISA は、制限付きのアプリケーションまたは Citrix などのオートメーションなしの API を自動化するのに役立ちます。また、このオプションを使用して、リモート デスクトップ アプリケーションや SAP などの低速アプリケーションを自動化することもできます。

一般的に、このオプションは、アプリケーション ツリーが正しく生成されないアプリケーション、またはファインダーを作成することが困難なアプリケーションに使用します。

認識された各 UI 要素には、ファインダーで使用する複数の属性が含まれています。

共通の属性
  • der_x, der_y, der_width,der_height: エレメントの座標とサイズ。

  • lt_16_5, rb_15_4: エレメントの左上および右下座標を基準にして計算された数値。プログラムの状態が異なると要素の座標が変化する場合には、ファインダーが正しく動作しない可能性があります。

    たとえば、選択すると太字になるテキストの座標が、選択を解除すると変化する場合などがあります。このプロパティでは、座標の変化に伴う問題が排除されるため、信頼性の高いファインダーを作成できます。UI エレメントに name プロパティがある場合、アクション ステップを挿入すると、ファインダーによってデフォルトで使用されます。それ以外の場合、ファインダーではプロパティ lt_16_5 が使用されます。

次の表に、サポートされる UI エレメントを示します。

UI エレメント名

ウィジェット名

要素の属性

注意

ダイアログ ボックス、フレーム、ペイン、その他

container

該当なし

他のエレメントを含む一般的な親エレメント。

たとえば、ダイアログ ボックス全体またはこのダイアログ ボックス内のフォームをコンテナにすることができます。Kofax RPA によって認識される特別なコンテナの 1 つがテーブルです。

要素

element

他のエレメントを含まない一般的な UI エレメント。

アイコン

icon

label

テキストを含まないグラフィック エレメント。

テーブル

table

テーブルはアプリケーション ツリー内で個別の要素として表されますが、次のような制限があります。

  • 結合されたセルは認識されません。

  • ヘッダーは通常のセルと同じです。

  • それぞれのセルは、アプリケーション ツリー内の item として定義されます。

  • アイテムには、チェック ボックス、テキスト ボックス、その他の要素などの他の UI 要素を含めることができます。

row

テーブル ツリーの行。

アイテム

item

テーブル ツリーの行にあるアイテム。

テキスト ボックス

textbox

label

テキスト フィールド。

チェック ボックス

checkbox

label

チェック ボックス。

オプション ボタン。

radiobutton

label

オプションまたはラジオ ボタン。

テキストとテキスト ラベル

linklabel

name

inverted

これは、ダイアログ ボックスのサブタイトルなどのスタンドアロンのテキスト要素、またはチェック ボックスのラベルなどの UI 要素のラベルのいずれかです。

  • 名前: テキストが UI エレメント ラベルとして認識される場合、UI エレメントにはラベル名を値とする label プロパティが含まれます。

    次の例では、textbox 要素に label="Name" プロパティが含まれています。

    ラベル付きのテキスト ボックス
  • inverted: OCR によって検出されたテキストが暗く、背景が白い場合、inverted0 に設定されます。テキストが白で、背景が暗い場合、inverted1 に設定されます。

ISA のヒント
  • スクリーン フォント、背景色と前景色、テキスト サイズなど、さまざまな要素によって認識結果は異なります。認識結果を改善する場合は、明るい背景や大きなフォント サイズでの等幅の黒色フォントを使用するなど、カラー スキームを変更してみます。
  • テキスト フィールドでは選択されて反転色になったテキストが正しく認識されないことがあります。認識結果を改善するには、値を抽出する前にテキスト フィールドの範囲選択を除去します (他の場所をクリックするなど)。
  • 状態によって異なって認識される可能性のある動的コンテンツ フォームとテキスト フィールドを操作する場合は、ツリーの凍結ステップを使用してアプリケーション ツリーの状態を保持し、認識結果を向上させます。
  • 要素から値を抽出するには、Windows オートメーション API を使用する場合と同様に、ここから値を抽出アクションを使用します。要素の値が ISA モードで認識されない場合は、画像からテキストを抽出アクションを実行してください。
  • ocr.cfg ファイルで拡張 OCR 設定を編集します。詳細については、拡張 OCR 設定を参照してください。
  • TTF フォントまたは UI スクリーンショットのいずれかを使用して、Tesseract が文字セットを認識できるようにトレーニングします。詳細については、Tesseract のトレーニングを参照してください。

  • SAP アプリケーションを自動化する前に、SAP GUI オプションでシステム依存テーマを設定すると、認識結果が向上します。

  • リモート デスクトップ プロトコル (RDP) を介して Windows 自動デバイスにリモートで接続する場合、解像度と色深度はコンピュータとリモート デバイス間のネットワーク接続速度に依存します。ロボットがイメージ ファインダーとIntelligent Screen Automation (ISA) を使用している場合、異なるロボットの実行で異なる接続速度が問題を引き起こす可能性があります。

    • イメージ ファインダーおよび ISA では、同一のアプリケーション状態で、ピクセル単位で同一の画像を常に受信することが重要です。

    • 開く」ステップの RDP 接続には、明示的に指定された同じ解像度と色深度パラメータ (g: デスクトップ ジオメトリ (WxH) およびa: 接続の色深度) を常に使用してください。

      例: rdp://user1:MyPassword@MyDesktop?g=640x480&a=16

UI 認識言語の変更または追加

デフォルトでは、ISA は、ocr.cfg ファイルで指定した言語を使用します。UI 認識言語を追加または変更する場合は、OCR エンジンと言語の変更トピックを参照してください。

コンピューターの ISA UI 認識言語を変更するには、次の手順を実行します。

  1. テキスト エディターで、次のように lib の該当するディレクトリにある isa_v1.cfg ファイルを開きます。
    • インストールされた Desktop Automation サービスを使用する Windows ベースの自動化されたコンピューター:

      C:\ProgramData\Kofax RPA\[ビルド番号]\lib\tessdata.

      自動化されたコンピュータに複数のバージョンの Desktop Automation サービスがインストールされている場合は、ISA を使用するデスクトップを自動化するサービスのバージョンを確認します。『Kofax RPA Desktop Automation サービス ガイド』の [Windows] タブを参照してください。

    • 組み込みブラウザを使用するローカルの Windows ベースのコンピューター:

      Kofax RPA のインストール ディレクトリの nativelib\hub\windows-x64\[ビルド番号]\lib

      ビルド番号は、プログラムのバージョンごとに異なります。

      例:C:\Program Files\Kofax RPA 11.5.0.0\nativelib\hub\windows-x64\622\lib

    • 組み込みブラウザを使用するローカルの Linux ベースのコンピューター:

      nativelib/hub/linux-x64/<build number>/lib in the Kofax RPA installation directory.

      例:Kofax_RPA_11.5.0.0/nativelib/hub/linux-x64/533/lib

  2. ocr_language パラメータ内の default を選択した言語に置き換えます。複数の言語を使用する場合は、ocr_language=eng+jpn のように + 記号を使用して別の言語を追加します。
  3. ファイルを保存して閉じます。

  4. 変更を有効化するには、Desktop Automation サービスを再起動します。

デフォルトの認識言語に戻すには、ocr_language パラメータ内で default を指定して、前述の手順を実行します。

Tesseract の UI 認識言語を追加する

Tesseract OCR エンジンを使用する場合、ISA はデフォルトで英語 UI を自動化できます。UI 認識の言語を追加するには、次の手順を使用します。

認識言語の変更については、『Kofax RPA Desktop Automation サービス ガイド』の「デフォルトの OCR 言語の変更」を参照してください。スクリーン認識で複数の言語を同時に使用すると、ロボットの実行が遅くなり、認識結果が低下することに注意してください。

OmniPage OCR エンジンには、Kofax RPA インストールでサポートされているすべての言語が含まれています。

  1. 必要な言語の .traineddata ファイルを GitHub の Web サイトからダウンロードします。

    たとえば、日本語のファイルは jpn.traineddata です。

    上記のリンクでファイルが入手できない場合は、メイン リポジトリ ページでバージョン 3.04 を検索してください。

    Tesseract バージョン 3.05.00 は Kofax RPA 11.5.0 と互換性があります。ただし、RPA は Tesseract 3.04.00 トレーニング ファイルを使用します。

    ダウンロードした .traineddata ファイルが、使用する teserract.dll ファイルのバージョンと互換性があることを確認します。互換性については、traineddata ページの下部に公開されている README.md ファイルを参照してください。

    間違ったトレーニング データを使用してもエラー メッセージは表示されませんが、OCR の結果が低下する可能性があります。

  2. ダウンロードした .traineddata ファイルを適切なフォルダにコピーします。
    • インストールされた Desktop Automation サービスを使用する Windows ベースの自動化されたコンピューター:

      Desktop Automation サービス インストール ディレクトリの DesktopAutomationService\lib\tessdata

      例:C:\Program Files\Kofax RPA DesktopAutomation 11.5.0.0\DesktopAutomationService\lib\tessdata

    • 組み込みブラウザを使用するローカルの Windows ベースのコンピューター:

      Kofax RPA のインストール ディレクトリの nativelib\hub\windows-x64\[ビルド番号]\lib\tessdata にコピーします。

      ビルド番号は、プログラムのバージョンごとに異なります。

      例:C:\Program Files\Kofax RPA 11.5.0.0\nativelib\hub\windows-x64\622\lib\tessdata

    • 組み込みブラウザを使用するローカルの Linux ベースのコンピューター:

      Kofax RPA インストール ディレクトリの nativelib/hub/linux-x64/<build number>/lib/tessdata

      例:Kofax_RPA_11.5.0.0/nativelib/hub/linux-x64/533/lib/tessdata

  3. 前述の「UI 認識言語の変更または追加」タスクの説明に従って、UI 認識言語を変更します。

Windows オプション

Windows アプリケーション用のウィジェット ツリーを生成するために、Kofax RPA は、Windows に組み込まれた UI オートメーション フレームワークを使用します。Kofax RPA は、一部のアプリケーションの拡張サポートを提供します。

Kofax RPA の拡張機能を使用してアプリケーションを操作している際に問題が発生した場合は、[Windows] ツリー モードでの選択を解除し、アプリケーションをオフにします。

Windows ツリー モード
Excel

スプレッドシートからセルを取得するなどの、Microsoft Excel の拡張サポートを有効にします。

次の手順で Excel を使用して作業する場合は、Excel ワークブックを [編集] モードのままにしないでください (Excel プログラム ウィンドウの左下隅に「編集」という単語が表示されます)。

リモート デバイスで Excel にテキストを入力を使用している場合、[編集] モードを終了するには、次のいずれかを実行します。

  • キー プレス ステップを使用して Enter キーを押します。

    Excel の編集モードが終了し、現在のセルの下のセルが直接選択されます。

  • キープレス ステップを使用して Tab キーを押します。

    編集モードが中止され、現在のセルの右のセルが選択されます。

  • 別のセルをクリックします。

  • キープレス ステップを使用して F2 キーを押します。

詳細については、 Microsoft のドキュメントを参照してください。

Internet Explorer

Microsoft Edge を [Internet Explorer] モードで使用すると、ドキュメント オブジェクト モデル (DOM) ツリーを取得するための拡張 Internet Explorer のサポートが有効になります。このモードでは、アプリケーション ツリーでより正確な結果が得られます。また、Kofax RPA には、Web サイトにアクセスするための組み込みの Chromium Web ブラウザが用意されています。

Internet Explorer の拡張サポートを使用する場合は、次の点に注意してください。

  • Internet Explorer の拡張サポートが無効になっている場合は、UI オートメーションで Internet Explorer からオブジェクト ツリーを取得します (これは、Microsoft の Inspect.exe を使用して取得するツリーと同じです)。
  • Internet Explorer の拡張サポートが有効で、ロボットが Internet Explorer ウィンドウを検出した場合:
    • DOM を横断し、JSON の表現を作成する Java スクリプトの一部が注入されます。これは、Internet Explorer ページのコンテキストで実行されます。
    • JSON は、ページ内の「kapowDataElement」ID を持つ入力タグに配置されます。
    • ロボットは JSON コンテンツを解析し、そのコンテンツからサブツリーを作成します。
Java

状況によっては、Java Access Bridge が機能しないことがあります。このオプションの選択を解除すると、レガシー モードに切り替えることができる場合があります。また、[Java] オプションは、[Internet Explorer] モードの Microsoft Edge の Java アプレットにも影響を与えます。

SAP

SAP は他の Windows アプリケーションとは異なる方法で処理されます。SAP を使用した操作は、低速となる可能性のあるスクリプト API に依存します。このオプションをオフにすると、SAP サポートがオフになります。

一部の要素のノードはアプリケーション ツリーで使用できない場合があります。ツリー内のすべてのノードを使用できるようにするには、次の手順を実行します。

  1. 製品のインストール フォルダから Desktop Automation サービスを実行しているコンピューターに RegSAPSurrogate.reg ファイルをダウンロードして保存します。

    ファイルは次の場所にあります。[パス]\Kofax RPA Desktop Automation 11.5.0.0\DesktopAutomationService\bin

  2. このファイルを実行し、警告を受け入れます。

  3. サービス エージェントを再起動します。

非表示

アプリケーションのツリー全体を抽出することを指定します。デフォルトでは、このオプションが選択されています。この選択を解除すると、Kofax RPA は、多くのエレメントを含むリスト ボックスやテーブルなど、オフスクリーンとして報告されるエレメントをスキップします。選択を解除すると、ツリーの抽出に必要な時間が短縮されます。

レガシーの深度とインデックス

Kofax RPA 10.2 で使用されていたアプリケーション ツリーに「深度」属性と「インデックス」属性を追加します。

深度属性およびインデックス属性を持つコンポーネント ファインダーを使用する Kofax RPA バージョン 10.2 で作成されたロボットを使用する場合は、Kofax RPA 10.3 以降のリリースで動作するロボットに [レガシー深度+インデックス] を選択します。

  • [最大深度]: ビュー内のすべてのアプリケーション ウィンドウに各ノードが表示する、ネストされた要素の最大数を設定します。
  • 最大の同位層数: ビュー内のすべてのアプリケーション ウィンドウに各ノードが表示する、同位層要素の最大数を設定します。

    制限なしの場合は 0 を指定します。

Excel API 再試行カウント

Windows API から Excel ウィンドウにアクセスする際の再試行の回数を指定します。Excel の応答が遅い場合は、この回数を増やします。

Excel API 再試行の待ち時間

Windows API から Excel ウィンドウにアクセスする際の再試行の間隔をミリ秒単位で指定します。