UiPathでの文字入力の基本

文字を入力するアクティビティの概要

UiPathの「文字を入力(Type Into)」アクティビティは、特定のUI要素(例えば、ウェブページの検索ボックス)にテキストを入力するときに使います。
このアクティビティを通じて、タブ(Tab)やエンター(Enter)などの特殊キーを含む文字列も送信できるようになります。

また、Shift+Endのような固定キーの組み合わせもサポートされており、テキストの一部を選択したり操作したりできるようになります。「ユーザー名/パスワードを取得」アクティビティを併用することで、機密情報も安全に入力できます。

文字入力の基本的な手順(例:Yahooの検索ボックスに文字を入力)

さっそく「文字を入力」アクティビティを使ってみましょう。
今回はサンプルとして、「Yahoo! JAPAN」(https://www.yahoo.co.jp/)の検索ボックスに文字を入力する手順をご紹介します。
手順は、以下のとおりです。

「Yahoo! JAPAN」の検索ボックスに文字を入力する手順

  1. UiPath Studioを開く:
    1. UiPath Studioを起動します。
    2. 新しいプロジェクトを作成するか、既存のプロジェクトを開きます。
  2. 変数の作成と設定:
    1. 「Main.xaml」を開き、ワークフロー左下の「変数」パネルを開きます。
    2. 「変数の名前」欄に、新しい変数名を入力します。例:`searchKeyword`。
    3. 「変数の型」を「String」に設定します。
    4. 「既定の値」欄に、検索したいキーワードを入力します。例: 「”UiPath”」。

    「既定の値」欄に、検索したいキーワードを入力

  3. ターゲットの選択:
    1. Chromeブラウザを開き、Yahoo! JAPAN(https://www.yahoo.co.jp/)にアクセスします。
    2. ワークフロー内で、左側のアクティビティパネルから「アプリケーション/ブラウザーを使用」アクティビティを探します。
    3. このアクティビティを、ワークフローにドラッグ&ドロップします。
    4. 「自動化するアプリケーションを指定」をクリックします。
    5. Yahoo! JAPANを表示しているブラウザ上の画面を選択します。

    Yahoo! JAPANを表示しているブラウザ上の画面を選択

  4. アクティビティの配置:
    1. ワークフロー内で、左側のアクティビティパネルから「文字を入力(Type Into)」アクティビティを探します。
    2. このアクティビティを、「3」で追加した「アプリケーション/ブラウザーを使用」アクティビティの「実行」内にドラッグ&ドロップします。
    3. 「文字を入力」アクティビティの「次で指定: Chrome: Yahoo! JAP…」をクリックします。
    4. 文字入力の対象であるYahoo! JAPANの検索ボックスを選択します。
    5. 「文字を入力」アクティビティの「以下を入力」フィールドに、「2」で作成した変数「searchKeyword」を入力します。

    変数「searchKeyword」を入力

  5. オプションの設定:
    1. 「文字を入力」アクティビティのプロパティパネルを開きます。
    2. 「入力モード」オプションで、入力方法を選択します。例えば、「シミュレート」はバックグラウンドでの入力に適しています。
  6. アクティビティの実行:
    1. ワークフローを実行し、設定したテキストがYahoo! JAPANの検索ボックスに入力されることを確認します。

    設定したテキストがYahoo! JAPANの検索ボックスに入力された

    この手順により、UiPathを使用してYahoo! JAPANの検索ボックスに動的に文字を入力する方法を学べました。変数を使用することで、入力するテキストを柔軟に変更できます。

    次のセクションでは、特殊キーの組み合わせや入力オプションについてさらに詳しく説明します。

    入力方法のオプション

    様々な入力方法の選択

    UiPathの「文字を入力」アクティビティでは、異なるシナリオに対応するための複数の入力方法が提供されています。
    これには以下のようなオプションが含まれます。

    • アプリ/ブラウザーと同一:
      親の「アプリケーション/ブラウザーを使用」アクティビティの入力モード設定に従います。
    • ハードウェア イベント:
      実際のキーボード入力をエミュレートする最も基本的な方法です。すべてのデスクトップアプリに対応していますが、実行速度が遅く、バックグラウンドでは動作しません。
    • シミュレート:
      アクセシビリティAPIを使用して、ブラウザーやJavaベースのアプリケーションなどにおいて高速でバックグラウンドで動作します。ただし、対象のアプリケーションのUI要素がこの方法をサポートしているかどうかは確認が必要です。
    • Chromium API:
      Google ChromeやMicrosoft EdgeなどのChromiumベースのブラウザで使用されるデバッガーAPIを利用します。これにより、すべてのテキストを一度に送信でき、対象のアプリにフォーカスしていなくても動作します。
    • ウィンドウ メッセージ:
      Win32メッセージを使用してシミュレートする方法で、デスクトップアプリに適しています。すべてのテキストを1回の操作で送信し、対象のアプリにフォーカスしていなくても動作します。

    オプションの詳細と使い分け

    これらのオプションは、プロジェクトの要件や対象のアプリケーションの特性に応じて選択することが重要です。
    例えば、通常のデスクトップアプリケーションの自動化では「ハードウェアイベント」が適している場合がありますが、Webベースのアプリケーションやバックグラウンドでの処理には「シミュレート」や「Chromium API」が適しています。

    さらに、これらの入力方法は、特定のUI要素に対する「入力前にクリック」や「フィールド内を削除」などのオプションと組み合わせて使用できます。これにより、より複雑な自動化タスクを効率的に実行できるようになります。

    また、「終了時に選択解除」のオプションは、Webブラウザで特定のUI応答をトリガーするために使用され、入力モードが「シミュレート」に設定されている場合に利用できます。

    これらの入力オプションを適切に選択して使用することで、さまざまなタイプのアプリケーションやシナリオでの文字入力の効率と正確性を最大化することができます。

    特殊キーとの組み合わせ

    TabやEnterなどの特殊キーの使用

    UiPathの「文字を入力」アクティビティでは、TabやEnterといった特殊キーの使用が可能です。これらのキーは、UI要素への入力を自動化する際に、フォームのフィールド間を移動したり、フォームを送信するなどの操作に用いられます。特殊キーは、アクティビティ内で特定の記法(例:”[k(tab)]”や”[k(enter)]”)を使用して指定されます。

    • Tabキーの使用例: フォームの異なるフィールド間を移動するために「[k(tab)]」を使用。
    • Enterキーの使用例: フォームの送信や検索の実行のために「[k(enter)]」を使用。

    固定キーのサポート

    UiPathでは、Shift、Ctrl、Altといった固定キーもサポートされています。これらのキーは単独で使用することも、他のキーとの組み合わせで使用することも可能です。例えば、”Ctrl +C”でテキストをコピーする際は、”Ctrl”キーを押下状態にするために「[d(ctrl)]」を、キーを解放するために「[u(ctrl)]」を使用し、「c」キーと組み合わせて「[d(ctrl)]c[u(ctrl)]」と記述します。

    このように固定キーの使用は、キーボードショートカットを通じて効率的なワークフローを構築するのに役立ちますが、シナリオに応じて最適なキーの組み合わせを選ぶ必要があります。また、UiPathでは「Type Into」アクティビティを「アプリケーション/ブラウザーを使用」アクティビティと組み合わせて使用し、オブジェクトリポジトリとの互換性も備えています。

    次のセクションでは、入力時に遭遇する可能性のある問題とそのトラブルシューティングについて詳しく説明します。

    入力時のトラブルシューティング

    UiPathでの文字入力に際しては、一般的なトラブルが発生することがありますが、それぞれに対応する解決策が存在します。

    入力がうまくいかないときの対処法

    1. セレクタの確認:
      セレクタが適切でない場合、正しいUI要素に文字が入力されません。セレクタの正確性を確認し、必要に応じて調整します。
    2. タイミングの調整:
      アプリケーションのロードや応答時間により、入力タイミングが早すぎる可能性があります。この場合は、「Delay Before」を利用してタイミングを調整します。
    3. アクティビティのプロパティ確認:
      「Type Into」アクティビティのプロパティ設定を確認し、「Click Before Typing」、「Empty Field」などのオプションが適切に設定されているかを確かめます。

    一般的なトラブルとその解決策

    1. 文字が途中で切れる:
      文字列が途中で切れる場合は、入力速度が速すぎることが原因である可能性があります。「SimulateType」オプションを無効にして、実際のキーストロークをシミュレートするように設定します。
    2. 入力先が見つからない:
      UI要素が動的に変化する場合は、セレクタをより動的に設定するか、柔軟なパターンを許容するように調整します。
    3. 入力速度が遅い:
      入力速度の遅さを解決するためには、「SendWindowMessages」や「SimulateType」オプションを活用して速度を向上させます。

     

    加えて、「文字を入力」アクティビティには「入力モード」の選択肢があり、これには「アプリ/ブラウザーと同一」、「ハードウェア イベント」、「シミュレート」、「Chromium API」、「ウィンドウメッセージ」などが含まれます。これらのオプションは、対象アプリケーションやブラウザの種類に応じて最適な方法を選択することが可能です。

    また、「入力前にフィールド内を削除」や「入力前にクリック」などのオプションも重要で、これらを適切に設定することで、文字入力の正確性を高めることができます。

    このように、UiPathの「文字を入力」アクティビティには多くの機能と設定があり、適切に使用することで文字入力のトラブルを解決し、自動化プロセスをスムーズに進めることができます。

    高度な文字入力テクニック

    Webフォームへの自動入力

    Webフォームへの自動入力は、UiPathを使用したオンラインプロセスの自動化において重要です。最も一般的なアプローチは、「文字を入力」アクティビティを使用して各入力フィールドにデータを入力することです。
    このアクティビティでは、固定キーの組み合わせ(例:Shift+End)を含む様々な文字列や特殊キーの送信が可能であり、入力前にフィールドをクリアするオプションも提供されます。また、Webフォームが複雑な場合、「JSスクリプトを挿入(Inject JS Script)」アクティビティを活用してJavaScriptや他のスクリプト言語を使用してデータを入力することも可能です。

    セキュアなテキスト入力

    「文字を入力」アクティビティは、機密情報の入力にも使用できます。このアクティビティを使用することで、画面上に表示されることなくセキュアなデータを入力することが可能です。
    また、ユーザー名やパスワードなどのセキュアな情報を保存し、後で安全に使用するための「ユーザー名/パスワードを取得」アクティビティと組み合わせて使用することが推奨されます。

    これらの高度なテクニックを使用することで、効率的かつ安全な自動化プロセスを構築できます。次のセクションでは、これらのテクニックに基づく文字入力のベストプラクティスを紹介します。

    UiPathによる文字入力のベストプラクティスと結論

    UiPathを用いた文字入力のプロセスは、自動化作業における核心的な要素です。本記事では、基本的な文字入力の方法から高度なテクニックまで、幅広いトピックにわたって解説を行いました。
    最後に、UiPathでの「文字を入力」アクティビティの使用時における重要なベストプラクティスを総括します。

    文字入力に関するベストプラクティスの要点

    1. 正確なセレクタの使用:
      文字入力の成功は、適切なセレクタの選択と調整に大きく依存します。ターゲット要素に正確にテキストを入力するためには、正確なセレクタを用いることが不可欠です。
    2. 特殊キーの活用:
      Tab、Enterなどの特殊キーを駆使することで、ユーザーインターフェースの操作を模倣し、より効率的な自動化が実現可能です。
    3. 動的な入力の導入:
      変数や引数を活用し、動的に文字列を入力することで、柔軟性の高いワークフローを構築できます。
    4. セキュリティの重視:
      機密情報の入力に際しては、「ユーザー名/パスワードを取得」アクティビティを利用し、セキュアなデータ処理を心がけます。
    5. オプションの詳細設定:
      「入力前にフィールド内を削除」や「入力前にクリック」などのオプションを適切に設定することで、入力プロセスを最適化し、エラーを減らすことができます。
    6. 入力モードの選択:
      シナリオに応じて、さまざまな入力モード(例:「アプリ/ブラウザーと同一」、「ハードウェア イベント」、「シミュレート」、「Chromium API」、「ウィンドウメッセージ」)を選択し、最適な自動化を実現します。

     

    これらのベストプラクティスを適用することで、UiPathを利用した文字入力の効率化と自動化の精度を高めることが可能です。最適なツールと方法を用いて、自動化の可能性を最大限に引き出しましょう。