アクティビティ
最新
バナーの背景画像
UI Automation のアクティビティ
最終更新日 2024年4月26日

HTML ページ: 情報を抽出して操作する

以下の例では、Web ページを参照して情報を抽出し、その情報を使用してローカルの HTML ページを新規作成する操作を自動化する方法を説明します。[文字を入力][クリック][テキストを取得][ブラウザーを開く] などのアクティビティを使用します。これらのアクティビティは、UiPath.UIAutomation.Activities パッケージに含まれています。

サンプルと同等のオートメーション プロセスは以下のように構築できます。

  1. Studio を開いて、新しいプロセスを作成します。
  2. Internet Explorer を開き、www.goodreads.com に移動します。
  3. ワークフロー デザイナー[フローチャート] コンテナーをドラッグします。

    • 次の変数を作成します。

      変数名

      変数の型

      既定値

      bookFound

      文字列

       

      bookName

      GenericValue

       
  4. [フローチャート] コンテナー内部に [入力ダイアログ] アクティビティをドラッグし、[Start] ノードに接続します。

    • このアクティビティをダブルクリックして開きます。
    • "Book Name:"Title フィールドに追加します。
    • "Enter the name of a book you read:"Label (ラベル) フィールドに追加します。
    • [プロパティ] パネルの [結果] フィールドに変数 bookName を追加します。
    • アクティビティは、次のスクリーンショットのようになります。



  5. [フローチャート] 画面に戻ります。
  6. [シーケンス] コンテナーをドラッグして、[入力ダイアログ] アクティビティに接続します。これは、.html ファイルの新規作成で使用します。
    • 次の変数を作成します。

      変数名

      変数の型

      既定値

      fileExists

      Boolean

       
  7. [シーケンス] コンテナーをダブルクリックして開き、[パスの存在を確認] アクティビティをその中にドラッグします。

    • [パスの種類] ドロップダウン リストから [ファイル] を選択します。
    • [Path] フィールドに式 "books.html" を追加します。
    • [プロパティ] パネルの [存在の有無] フィールドに変数 fileExists を追加します。
  8. [パスの存在を確認] アクティビティの下に [条件分岐 (if)] アクティビティをドラッグします。

    • [条件] フィールドに変数 fileExists を追加します。
  9. [Else] フィールドに [テキスト ファイルに書き込み] アクティビティを配置します。

    • [FileName] フィールドに式 "books.html" を追加します。
    • [テキスト]フィールドに以下のコードを追加します。

      <html> <head> <title>Books</title> </head> <body> </body> </html>

    • アクティビティは、次のスクリーンショットのようになります。



  10. [フローチャート] 画面に戻ります。
  11. [ブラウザーを開く] アクティビティをドラッグして、[シーケンス] コンテナーと接続します。

    • このアクティビティをダブルクリックして開きます。
    • [プロパティ] パネルの [ブラウザーの種類] ドロップダウン リストから [IE] を選択します。
    • [URL] フィールドに式 "https://www.goodreads.com/search" を追加します。指定した Web サイトが開きます。
    • [新しいセッション] オプションのチェック ボックスを選択します。選択したブラウザーが新しいセッションとして開きます。
  12. [ブラウザーを開く] アクティビティ内の [Do] コンテナーを選択して次の変数を作成します。

    変数名

    変数の型

    既定値

    noResults

    GenericValue

     
  13. [Do] シーケンス内部に [文字を入力] アクティビティをドラッグします。

    • アクティビティ内部の [ブラウザー内で要素を指定] オプションをクリックします。これで目的のアプリケーションを選択できるようになりました。以下の GIF では、実行する必要があるすべての手順を示しています。


    • [テキスト] フィールドに変数 bookName を追加します。
  14. [クリック] アクティビティを、[文字を入力] アクティビティの下に配置します。

    • アクティビティ内部の [ブラウザー内で要素を指定] オプションをクリックします。これで目的のアプリケーションを選択できるようになりました。以下の GIF では、実行する必要があるすべての手順を示しています。


    • [プロパティ] パネルの [実行前の待機時間] フィールドに値 1000 を追加します。何らかの操作を開始するまでに 1 秒の待機が発生します。
  15. [クリック 'INPUT'] アクティビティの下に [テキストを取得] アクティビティをドラッグします。

    • アクティビティ内部の [ブラウザー内で要素を指定] オプションをクリックします。これで目的のアプリケーションを選択できるようになりました。以下の GIF では、実行する必要があるすべての手順を示しています。


    • [プロパティ] パネルの [値] フィールドに変数 noResults を追加します。
  16. [テキストを取得 'H3'] アクティビティの下に [条件分岐 (if)] アクティビティをドラッグします。

    • [条件 (Condition)] フィールドに式 noResults.toLower.Trim.Contains("no results") を追加します。
  17. [Then] フィールド内部に [シーケンス] コンテナーを配置します。
  18. [シーケンス] コンテナー内に [メッセージ ボックス] アクティビティをドラッグします。

    • [テキスト] フィールドにメッセージ "Book not found. Please search another one." を追加します。結果が得られなかった場合は、このメッセージが表示されます。
  19. [メッセージ ボックス] アクティビティの下に [タブを閉じる] アクティビティをドラッグします。これによって、Web ブラウザーで開いているタブが閉じます。
  20. [Else] フィールド内部に [シーケンス] コンテナーを配置します。
  21. [シーケンス] コンテナー内部に [テキストを取得] アクティビティをドラッグします。

    • アクティビティ内部の [ブラウザー内で要素を指定] オプションをクリックします。これで目的のアプリケーションを選択できるようになりました。以下の GIF では、実行する必要があるすべての手順を示しています。


    • [プロパティ] パネルの [値] フィールドに変数 bookFound を追加します。
  22. [テキストを取得 'SPAN’] アクティビティの下に [条件分岐 (if)] アクティビティをドラッグします。

    • [条件 (Condition)] フィールドに式 bookFound.ToLower.Trim.Contains(bookName.ToLower.Trim) を追加します。
  23. [Then] フィールド内部に [シーケンス] コンテナーをドラッグして、次の変数を作成します。

    変数名

    変数の型

    既定値

    realName

    文字列

     
  24. [シーケンス] コンテナー内部に [クリック] アクティビティを配置します。

    • アクティビティ内部の [ブラウザー内で要素を指定] オプションをクリックします。これで本のタイトルを選択できるようになりました。以下の GIF では、実行する必要があるすべての手順を示しています。


  25. [クリック 'SPAN’] アクティビティの下に別の [シーケンス] コンテナーをドラッグし、その名前を Get book Details として、次の変数を作成します。

    変数名

    変数の型

    既定値

    description

    GenericValue

     

    author

    GenericValue

     

    booksContent

    文字列

     

    alreadyExists

    Boolean

     
  26. [シーケンス] コンテナー内部に [テキストを取得] アクティビティをドラッグします。

    • アクティビティ内部の [ブラウザー内で要素を指定] オプションをクリックします。これで本のタイトルを選択できるようになりました。以下の GIF では、実行する必要があるすべての手順を示しています。


    • [プロパティ] パネルの [値] フィールドに変数 realName を追加します。
  27. [テキストを取得 'H1 bookTitle’] アクティビティの下に [代入] アクティビティを配置します。

    • [左辺値 (To)/宛先] フィールドに変数 realName を追加します。
    • [右辺値 (Value)] フィールドに式 realName.Replace(":","").Replace("'","").Trim を追加します。
  28. [代入] アクティビティの下に [パスの存在を確認] アクティビティを追加します。

    • [パスの種類] ドロップダウン リストから [ファイル] を選択します。
    • [Path] フィールドに式 Environment.CurrentDirectory+"\"+realName+".jpg" を追加します。
    • [プロパティ] パネルの [存在の有無] フィールドに変数 alreadyExists を追加します。
  29. [パスの存在を確認] アクティビティの下に別の [条件分岐 (if)] アクティビティをドラッグします。

    • [条件] フィールドに変数 alreadyExists を追加します。
  30. [Then] フィールド内部に [シーケンス] コンテナーを配置します。
  31. [シーケンス] コンテナー内に [メッセージ ボックス] アクティビティをドラッグします。

    • [テキスト] フィールドにメッセージ "Book already added." を追加します。
    • [プロパティ] パネルで、[ボタン] ドロップダウン メニューから [OK] オプションを選択します。
  32. [メッセージ ボックス] アクティビティの下に [タブを閉じる] アクティビティをドラッグします。これによって、Web ブラウザーで開いているタブが閉じます。
  33. [Else] フィールド内部に [シーケンス] コンテナーを配置します。
  34. [シーケンス] コンテナー内部に同じコンテナーをもう 1 つ配置します。
  35. [シーケンス] コンテナー内部に [テキストを取得] アクティビティをドラッグします。

    • アクティビティ内部の [ブラウザー内で要素を指定] オプションをクリックします。これで本のタイトルを選択できるようになりました。以下の GIF では、実行する必要があるすべての手順を示しています。


    • [プロパティ] パネルの [値] フィールドに変数 description を追加します。
  36. [getDescription (説明を取得)] アクティビティの下に [テキストを取得] アクティビティをドラッグします。

    • アクティビティ内部の [ブラウザー内で要素を指定] オプションをクリックします。これで本のタイトルを選択できるようになりました。以下の GIF では、実行する必要があるすべての手順を示しています。


    • [プロパティ] パネルの [値] フィールドに変数 author を追加します。
  37. [getAuthor (作者を取得)] アクティビティの下に [クリック] アクティビティをドラッグします。

    • アクティビティ内部の [ブラウザー内で要素を指定] オプションをクリックします。これで本のタイトルを選択できるようになりました。以下の GIF では、実行する必要があるすべての手順を示しています。


    • [プロパティ] パネルで、[マウス ボタン] ドロップダウン リストから [BTN_RIGHT] を選択します。このアクションでは、画像が右クリックされてメニューが表示されます。
    • [X のオフセット] フィールドに値 89 を追加します。
    • [Y のオフセット] フィールドに値 22 を追加します。
    • [位置] ドロップダウン リストから [TopLeft] オプションを選択します。
  38. [クリック 'IMG coverImage'] アクティビティの下に [待機] アクティビティをドラッグします。

    • [プロパティ] パネルで、[待機期間] フィールドに値 00:00:02 を追加します。これにより 2 秒の待機が設定されます。
  39. [待機] アクティビティの下に新しい [クリック] アクティビティを配置します。

    • アクティビティ内部の [ブラウザー内で要素を指定] オプションをクリックします。これで本のタイトルを選択できるようになりました。以下の GIF では、実行する必要があるすべての手順を示しています。


  40. [クリック 'menu item'] アクティビティの下に [文字を入力] アクティビティをドラッグします。

    • アクティビティ内部の [ブラウザー内で要素を指定] オプションをクリックします。これで本のタイトルを選択できるようになりました。以下の GIF では、実行する必要があるすべての手順を示しています。


    • [プロパティ] パネルの [テキスト] フィールドに式 Environment.CurrentDirectory+"\"+realName+".jpg" を追加します。
  41. [文字を入力 'Edit'] アクティビティの下に [クリック] アクティビティを配置します。

    • アクティビティ内部の [ブラウザー内で要素を指定] オプションをクリックします。これで本のタイトルを選択できるようになりました。以下の GIF では、実行する必要があるすべての手順を示しています。


  42. [クリック 'Button'] アクティビティの下に [テキスト ファイルに書き込み] アクティビティをドラッグします。

    • [FileName] フィールドに式 realName+".html" を追加します。
    • [テキスト]フィールドに以下のコードを追加します。

      "<html>
        <head>
          <title>"+realName+"</title>
        </head>
        <body>
          <a href='books.html'>BACK</a>
          <h1>"+realName+"</h1>
          <h2>by "+author+"</h2>
            <img href='"+realName+".jpg'>
          <h3>"+description+"</h3>
         </body>
       </html>""<html>
        <head>
          <title>"+realName+"</title>
        </head>
        <body>
          <a href='books.html'>BACK</a>
          <h1>"+realName+"</h1>
          <h2>by "+author+"</h2>
            <img href='"+realName+".jpg'>
          <h3>"+description+"</h3>
         </body>
       </html>"
  43. [テキスト ファイルに書き込み] アクティビティの下に [テキスト ファイルを読み込み] アクティビティを配置します。

    • [FileName] フィールドに式 "books.html" を追加します。
    • Content (コンテンツ) フィールドに変数 booksContent を追加します。
  44. [テキスト ファイルを読み込み] アクティビティの下に [テキスト ファイルに書き込み] アクティビティをもう 1 つドラッグします。

    • [FileName] フィールドに式 "books.html" を追加します。
    • [テキスト] フィールドに文字列 booksContent.Replace("</body></html>","<h1><a href='"+realName+".html'>"+realName+"</h1></body></html>") を追加します。
  45. [テキスト ファイルに書き込み] アクティビティの下に [タブを閉じる] アクティビティを追加します。
  46. [タブを閉じる] アクティビティの下に [ブラウザーを開く] アクティビティをドラッグします。これによって、新規作成された .html ファイルが開きます。
    • [ブラウザーの種類] ドロップダウン リストから [IE] オプションを選択します。
    • "file:\\\"+Environment.CurrentDirectory+"\books.html"Url フィールドに追加します。
  47. 最初の [条件分岐 (if)] アクティビティに戻り、[Else] フィールドに [シーケンス] コンテナーを追加します。
  48. [シーケンス] コンテナー内に [メッセージ ボックス] アクティビティをドラッグします。

    • "Book not found. Please check the name and try again"[テキスト] フィールドに追加します。
  49. [テキスト ファイルに書き込み] アクティビティの下に [タブを閉じる] アクティビティを追加します。
  50. ワークフローを実行します。このオートメーション プロセスは、本の名前を要求し、それを www.goodreads.com で検索してその本に関する情報を取得します。つづいて、基本の .html ページを作成して、取得した情報をそのページに記述します。

Was this page helpful?

サポートを受ける
RPA について学ぶ - オートメーション コース
UiPath コミュニティ フォーラム
UiPath ロゴ (白)
信頼とセキュリティ
© 2005-2024 UiPath. All rights reserved.