Automation Anywhere

Automation Anywhere Automation 360

關閉內容

內容

開啟內容

使用 Python 生成 bot 以解析 JSON 響應

  • 已更新:11/16/2020
    • Automation 360 v.x
    • 建立
    • RPA 工作區

使用 Python 生成 bot 以解析 JSON 響應

使用 Automation 360 Python 腳本執行 Python 函數以生成 bot。使用 Python 函數來解析來自 REST Web 服務 GET 請求的 JSON 響應。

先決條件

確保您具有以下內容以構建: bot

  • 基本瞭解 Python 編程語言。
  • 創建的基本體驗 Automation Anywhere bots
  • 下載並安裝 Python 3.

    下載 Python

    將路徑添加到 Environment 變量,並在 Python 安裝過程中選擇 Add Python 3.8 to path (將 Python 3.8 添加到路徑)。

程序

  1. 登入 Control Room
  2. 轉到 “機器人 > 程序我的機器人程序”,然後單擊 “創建機器人程序 ”圖標。
  3. 在 Name (名稱)字段中,輸入 PythonTutorial( PythonTutorial )。
  4. 單擊 創建和編輯
  5. 在“操作”窗格中,單擊 “變量 ”以創建以下新變量:
    1. 名稱 dResponse類型 > 詞典子類型 > 字符串
    2. name dRetrieveValueType > Dictionary 和 Subtype > any
    3. 名稱 sResponseBody類型 > 字符串
    4. 名稱 sFullName鍵入 > String
    5. 名稱 位置類型 > 字符串
    6. 名稱 sTotalUserCount類型 > 字符串
    7. 名稱 nTotalUserCount類型 > 編號
    8. 名稱 nCurrentUser鍵入 > number
    9. 名稱 sCurrentUser鍵入 > String
  6. 從 [ 動作 ] 窗格中,選取 [ REST Web 服務 > 取得方法 ] ,並將其置於 bot 流程的開頭之下。
    1. 在 URI 字段中,輸入 https://randomuser.me/api/?results=5&inc=name,email,location&nat=us
      這是一個將隨機用戶詳細信息返回到調用應用程序的示例 API 。
    2. 在“驗證模式”下拉列表中,選擇 “無驗證”。
    3. 在將輸出分配給變量下拉列表中,選擇 dResponse -Dictionary of Strings
  7. 在 Actions (操作)窗格中,單擊 String > Assign(字符串分配)。
    1. 在“選擇源字符串變量值”字段中,輸入 $dResponse {Body }$
    2. 在將輸出分配給變量下拉列表中,選擇 dResponseBody - String
  8. 在 Actions (操作)窗格中,單擊 Python script > Open( Python 腳本打開)。
    1. 在 Python ( Python )字段中,選擇 Manual input(手動輸入)。
    2. 在“在此處輸入腳本”字段中,複製並粘貼以下代碼。
      import json
      
      def get_node_count(response):
          #parse response as json
          response_dict=json.loads(response)
          # Create list from JSON body
          response_body = response_dict['results']
          #return the count of entries in JSON body as string
          lengthasstring = str(len(response_body))
          return lengthasstring
      
      def get_full_name(dictRequest):
          itemCount = int(dictRequest['count'])
          #parse response as json
          response_dict=json.loads(dictRequest['response'])
          # Create list from JSON body
          response_body = response_dict['results']
          #Extract values to return
          return response_body[itemCount]['name']['first'] + " " + response_body[itemCount]['name']['last'] 
      
      def get_location(dictRequest):
          itemCount = int(dictRequest['count'])
          #parse response as json
          response_dict=json.loads(dictRequest['response'])
          # Create list from JSON body
          response_body = response_dict['results']
          #Extract values to return
          return response_body[itemCount]['location']['city'] + ", " + response_body[itemCount]['location']['state']
    3. 在 Python 運行時版本 字段中,將默認值保留 爲 3
  9. 在 Actions (操作)窗格中,單擊 Python script > Execute Function( Python 腳本執行功能)。
    1. Python 會話 字段中,保留 默認值。
    2. 在輸入要執行的函數的名稱字段中,輸入 get 節點計數
    3. 在“函數參數”下拉列表中,選擇 “ dResponseBody - 字符串”。
    4. 在將輸出分配給變量下拉列表中,選擇 sTotalUserCount - String
  10. 在操作窗格中,單擊 字典 > 放置
    1. 在詞典變量字段中,選擇 dRetrieveValue -Dictionary
    2. 在“關聯到此鍵”字段中,輸入 response
    3. 在“新建值”下拉列表中,選擇 “ dResponseBody - 字符串”。
    4. 在將上一個值分配給變量下拉列表中,選擇 提示 - 分配 - 字符串
  11. 在 Actions (操作)窗格中,單擊 String > to Number(字符串至編號)。
    1. 在輸入字符串字段中,輸入 sTotalUserCount
    2. 在將輸出分配給變量下拉列表中,選擇 nTotalUserCount - Number
  12. 在 Actions (操作)窗格中,單擊 Loop > Loop (循環)
    1. 在循環類型 > 迭代器中, 從 下拉列表中選擇 n 次。
    2. 在“時間”字段中,輸入 $nTotalUserCount$
    3. 在 Assign the current value to a variable (將當前值分配給變量)下拉列表中,選擇 nCurrentUser - Number( nCurrentUser - 編號)。
  13. 從“操作”窗格中,單擊 “編號”,選擇 “減量 ”並將其放入 循環 操作中。
    1. 在 Enter Number (輸入號碼)字段中,輸入 $nCurrentUser$
    2. 在輸入遞減值字段中,輸入 1
    3. 在 Assign output to a variable (將輸出分配給變量)下拉列表中,選擇 nCurrentUser - Number( nCurrentUser - 編號)。
  14. 在 Actions (操作)窗格中,單擊 Number(編號),選擇 to string (以字符串)並將其放入 Loop (循環)操作的內部,編號 > Decent.
    1. 在輸入數字字段中,輸入 $nCurrentUser$
    2. 在“輸入小數點後的位數”字段中,輸入 0
    3. 在 Assign output to a variable (將輸出分配給變量)下拉列表中,選擇 sCurrentUser - String( sCurrentUser - 字符串)。
  15. 在 Actiond 窗格中,單擊 Dictionary > put 並將其放入 Loop 操作中。
    1. 在詞典變量字段中,選擇 dRetrieveValue -Dictionary
    2. 在“與此鍵關聯”字段中,輸入 count
    3. 在“新值”下拉列表中,選擇 sCurrentUser - String
    4. 在將上一個值分配給變量下拉列表中,選擇 提示 - 分配 - 字符串
  16. 在“操作”窗格中,單擊 Python 腳本 > 執行函數 ,並將其放入 循環 操作中。
    1. Python 會話 字段中,保留 默認值。
    2. 在“輸入要執行的函數的名稱”字段中,輸入 “ get _full_name”。
    3. 在“函數參數”下拉列表中,選擇 dRetrieveValue - Dictionary
    4. 在將輸出分配給變量下拉列表中,選擇 sFullName - String
  17. 在“操作”窗格中,單擊 Python 腳本 > 執行函數 ,並將其放入 循環 操作中。
    1. Python 會話 字段中,保留 默認值。
    2. 在輸入要執行的函數的名稱字段中,輸入 get 位置
    3. 在“函數參數”下拉列表中,選擇 dRetrieveValue - Dictionary
    4. 在將輸出分配給變量下拉列表中,選擇 sLocation - String
  18. 在 [ 動作 ] 窗格中,按一下 [ 訊息方塊 ] ,然後將它放在 [ 迴圈 ] 動作中。
    1. “輸入要顯示的消息 ”字段中,輸入以下內容:
      Full Name: $sFullName$ Location: $sLocation$
    2. 選擇 秒後關閉消息框 > , 輸入 5
  19. 在“操作”窗格中,單擊 Python 腳本 > 關閉 ,並將其置於 Loop 操作之外。
    1. Python 會話 字段中,保留 默認值。
  20. 單擊 保存 保存 bot,然後單擊 運行
    bot 運行,顯示五個完整的用戶名,每個用戶名的位置大約爲 5 秒,然後才能成功執行。
傳送意見反饋