【UiPath教學】呼叫 Python 腳本的限制與解決方案:Python 擴充套件 vs. Start Process

更新 發佈閱讀 8 分鐘

我個人覺得UiPath不是一個很無敵的工具,在使用UiPath一段時間後發現它還是有很多功能上的限制(可能是本身產品開發功能還沒補全或或多或少會有一些Bug)

有可能有版本上的問題(每個版本相容性易出問題)、有可能是擴充模組本身的錯誤,在近期的工作中就發現了此python擴充套件上的不足,依照自身情況記錄下來。

根據上一篇【Uipath教學】UiPath 整合 Python 腳本:提升 RPA 處理能力與流程彈性 我有介紹到UiPath有提供Python的套件,讓使用者可以呼叫Python相關的程式碼做更好的整合,但最近在使用上發現到一個蠻嚴重的問題,而剛好在上一篇最後也有提到將會介紹另一種呼叫腳本的用法,將會集中在這篇文章詳細解說。


UiPath Python擴充套件之限制:不接受OOP(物件導向)呼叫,只能呼叫Python的function。

使用python程式語言,很多人會依賴python的物件導向寫法,例如我有一個Animal.py裡面定義動物的方法,有一個speak的功能。
Animal.py

class Animal:
    def __init__(self, name, age):
        self.name = name
self.age = age

    def speak(self):
        return "I am an animal."

而在另一支程式碼main.py,我想要呼叫這個Animal class

from Animal import Animal


def main():
    try:
        my_animal = Animal("Buddy", 5)
        rs = my_animal.speak()
        print(rs)
        return rs
    except Exception as e:
        print(f"An error occurred: {e}")
        return f"An error occurred: {e}"

if __name__ == "__main__":
    main()


在終端機測試時,可以看到他順利的印出,"I am an animal."的字樣。

vocus|新世代的創作平台


但當使用UiPath呼叫這個main時就會發生錯誤訊息,Load不到python script。(已測試過若把from Animal import Animal 這個模組mark掉進行呼叫的話,程式就可以正常執行!)。

vocus|新世代的創作平台


OK,現在遇到這樣的狀況,下一步需要思考還有什麼方法可以解決?

在UiPath中找到另一個執行腳本的方法: StartProcess,他是原生的UiPath功能,可以呼叫任何一個腳本(只要給他腳本路徑)。

vocus|新世代的創作平台


在原本的python擴充套件,他是同步執行。意思是,它程序會等Python確定執行完並回傳結果之後才會繼續往後面跑,而StartProcess則是可以自己設定要同步還是非同步

非同步就是執行腳本後,UiPath不會等Python結束程序,直接繼續往下執行,這種情況,大家就可以依照自己對需求的情況看需不需要等待回傳結果才能接續後面作業。

但StartProcess也有其限制,它可以設定為同步+timeout(milliseconds),即使它會等python程序結束再往後跑,但它無法讓python結果回傳到UiPath內,只負責呼叫腳本執行!
設定同步非同步需要到Proprties中設定。

設定同步非同步需要到Proprties中設定。


如果腳本不需要傳入參數便可以直接呼叫,若需要從UiPath傳入參數給Python,則需要做以下調整跟設定。接續上面的程式碼例子,我想要把name跟age用外部傳入的方式讓程式碼更有彈性:

main.py 我讓name, age可以從外部帶進來,另外使用sys.argv ,即可在呼叫時直接在指令輸入參數,它便會照順序吃到相對應參數 [1]會抓到name, [2]會抓到age。

from Animal import Animal
import sys

name = sys.argv[1]
age = int(sys.argv[2])

def main():
    try:
        my_animal = Animal(name, age)
        rs = my_animal.speak()
        print("name:", my_animal.name)
        print("age:", my_animal.age)
        print(rs)
        return rs
    except Exception as e:
        print(f"An error occurred: {e}")
        return f"An error occurred: {e}"

if __name__ == "__main__":
    main()


使用方法如下,在呼叫時 後面直接帶入參數,程式碼就會吃到參數內容並建立相對應的物件屬性。

vocus|新世代的創作平台


現在了解直接使用指令碼帶入參數的方式之後,我們一樣可以直接在UiPath上設定:

在startProcess中需要輸入​
FileName: 腳本路徑 -> Path.Combine("C:\xxx","main.py")
Arguments: 傳入參數 -> String.Format("""{0}"" ""{1}""", animal_name, animal_age)
vocus|新世代的創作平台


這樣就會成功透過UiPath傳入參數給Python呼叫Class相關程式碼。

以上為本次分享~

總結一下重點:

  1. Python擴充套件:UiPath可以帶參數到Python、Python可以將結果回傳UiPath、為同步執行緒、只能呼叫Python function程式碼。
  2. 原生StartProcess Activity:UiPath可以帶參數給Python、Python不可將結果回傳UiPath、可設定同步或非同步、可呼叫Python Class程式碼。

比較項目 

Python 擴充套件 (Activities)

原生 Start Process 活動

UiPath 帶參數到 Python

可以

可以(透過命令列參數)

Python 結果回傳 UiPath

可以(透過 Get Python Object)

不可直接回傳(需寫入檔案)

執行緒模式

同步執行(於 Python Scope 中執行)

可設定同步或非同步

可呼叫程式碼類型

僅限 Function(方法)

可執行 Class 或整個 Script 檔案

技術實現原理

調用 Python DLL

啟動 python.exe

留言
avatar-img
會計自動化研究社
31會員
29內容數
致力於交流【VBA|RPA自動化|會計實務】的學習社群。
2026/03/20
本文將教學如何在UiPath中創建、發布及匯入元件庫(Library)。以公司ERP登入流程為例,示範如何將重複使用的流程封裝成可重用元件,並透過UiPath Orchestrator共享,大幅提升開發效率與一致性。
Thumbnail
2026/03/20
本文將教學如何在UiPath中創建、發布及匯入元件庫(Library)。以公司ERP登入流程為例,示範如何將重複使用的流程封裝成可重用元件,並透過UiPath Orchestrator共享,大幅提升開發效率與一致性。
Thumbnail
2026/01/28
本文詳細介紹如何在 UiPath Studio 中整合 Python 腳本,克服 RPA 在資料處理上的侷限。看完後你會完成 Python 擴充套件的安裝、Python Scope 等關鍵設定,並提供範例和實際操作。學會讓 UiPath 和 Python 協同工作,提升 RPA 流程的處理效率與彈性
Thumbnail
2026/01/28
本文詳細介紹如何在 UiPath Studio 中整合 Python 腳本,克服 RPA 在資料處理上的侷限。看完後你會完成 Python 擴充套件的安裝、Python Scope 等關鍵設定,並提供範例和實際操作。學會讓 UiPath 和 Python 協同工作,提升 RPA 流程的處理效率與彈性
Thumbnail
2026/01/25
本篇文章詳述 Uipath 如何與 Github 整合,解決 Uipath Orchestrator 無法記錄程式碼變更差異的問題。教學內容涵蓋兩種主要情境:從 Github專案至本地,以及本地專案初始化後推送到 Github。透過本文,開發者能有效管理 Uipath 專案的版本紀錄。
Thumbnail
2026/01/25
本篇文章詳述 Uipath 如何與 Github 整合,解決 Uipath Orchestrator 無法記錄程式碼變更差異的問題。教學內容涵蓋兩種主要情境:從 Github專案至本地,以及本地專案初始化後推送到 Github。透過本文,開發者能有效管理 Uipath 專案的版本紀錄。
Thumbnail
看更多
你可能也想看
Thumbnail
Cursor推出學生方案,但馬上撤回!目前台灣、中國、香港等地已無法享有一年免費使用Pro版!
Thumbnail
Cursor推出學生方案,但馬上撤回!目前台灣、中國、香港等地已無法享有一年免費使用Pro版!
Thumbnail
介紹兩種思維模式,以及寫程式所需的思維能力與鍛鍊方法。 許多人覺得寫程式很難,依照個人教學經驗來看,多數是沒有先建立起寫程式的邏輯思維。一堆課程也是直接教你程式語法,好一點的會用實際案例帶你學習寫程式(有注重到應用面),但常常會忽略提及邏輯的重要性。
Thumbnail
介紹兩種思維模式,以及寫程式所需的思維能力與鍛鍊方法。 許多人覺得寫程式很難,依照個人教學經驗來看,多數是沒有先建立起寫程式的邏輯思維。一堆課程也是直接教你程式語法,好一點的會用實際案例帶你學習寫程式(有注重到應用面),但常常會忽略提及邏輯的重要性。
Thumbnail
在寫爬蟲的時候,很多人第一個想法就是: 能不能寫程式自動去抓 Google 搜尋結果? 但其實 Google 搜尋頁面(https://www.google.com)**不開放 API**,也禁止爬蟲直接抓取。這一集我們就來介紹一個「合法、官方、免費」的 Google 搜尋替代方案:Custom
Thumbnail
在寫爬蟲的時候,很多人第一個想法就是: 能不能寫程式自動去抓 Google 搜尋結果? 但其實 Google 搜尋頁面(https://www.google.com)**不開放 API**,也禁止爬蟲直接抓取。這一集我們就來介紹一個「合法、官方、免費」的 Google 搜尋替代方案:Custom
Thumbnail
在現代治理範式中,無條件基本收入(UBI)與基本移動權(UBM)的角色必須從單純的「貧窮救助」轉移為「尊嚴賦權」。透過制度化的保障,我們旨在消除生存的恐懼,讓每一位公民得以從無止盡的存活搏鬥中解脫,進而轉化為推動文明進步與靈性昇華的動力。
Thumbnail
在現代治理範式中,無條件基本收入(UBI)與基本移動權(UBM)的角色必須從單純的「貧窮救助」轉移為「尊嚴賦權」。透過制度化的保障,我們旨在消除生存的恐懼,讓每一位公民得以從無止盡的存活搏鬥中解脫,進而轉化為推動文明進步與靈性昇華的動力。
Thumbnail
全新版本的《三便士歌劇》如何不落入「復刻經典」的巢臼,反而利用華麗的秀場視覺,引導觀眾在晚期資本主義的消費愉悅之中,而能驚覺「批判」本身亦可能被收編——而當絞繩升起,這場關於如何生存的黑色遊戲,又將帶領新時代的我們走向何種後現代的自我解構?
Thumbnail
全新版本的《三便士歌劇》如何不落入「復刻經典」的巢臼,反而利用華麗的秀場視覺,引導觀眾在晚期資本主義的消費愉悅之中,而能驚覺「批判」本身亦可能被收編——而當絞繩升起,這場關於如何生存的黑色遊戲,又將帶領新時代的我們走向何種後現代的自我解構?
Thumbnail
長期以來,西方美學以《維特魯威人》式的幾何比例定義「完美身體」,這種視覺標準無形中成為殖民擴張與種族分類的暴力工具。本文透過分析奈及利亞編舞家庫德斯.奧尼奎庫的舞作《轉轉生》,探討當代非洲舞蹈如何跳脫「標本式」的文化觀看。
Thumbnail
長期以來,西方美學以《維特魯威人》式的幾何比例定義「完美身體」,這種視覺標準無形中成為殖民擴張與種族分類的暴力工具。本文透過分析奈及利亞編舞家庫德斯.奧尼奎庫的舞作《轉轉生》,探討當代非洲舞蹈如何跳脫「標本式」的文化觀看。
Thumbnail
本文深度解析賽勒布倫尼科夫的舞臺作品《傳奇:帕拉贊諾夫的十段殘篇》,如何以十段殘篇,結合帕拉贊諾夫的電影美學、象徵意象與當代政治流亡抗爭,探討藝術在儀式消失的現代社會如何承接意義,並展現不羈的自由靈魂。
Thumbnail
本文深度解析賽勒布倫尼科夫的舞臺作品《傳奇:帕拉贊諾夫的十段殘篇》,如何以十段殘篇,結合帕拉贊諾夫的電影美學、象徵意象與當代政治流亡抗爭,探討藝術在儀式消失的現代社會如何承接意義,並展現不羈的自由靈魂。
Thumbnail
在這個數位創業快速發展的時代,一個穩定、功能強大又容易上手的電商平台,將成為你事業起飛的關鍵。EasyStore 正式邁入 12週年,特別推出「30萬好禮大放送」活動,幫助更多創業者、品牌經營者輕鬆開店、打造自有品牌,從零開始也能快速獲利! 👉【立即領取開店好禮】 (限量 100 組,錯過就沒
Thumbnail
在這個數位創業快速發展的時代,一個穩定、功能強大又容易上手的電商平台,將成為你事業起飛的關鍵。EasyStore 正式邁入 12週年,特別推出「30萬好禮大放送」活動,幫助更多創業者、品牌經營者輕鬆開店、打造自有品牌,從零開始也能快速獲利! 👉【立即領取開店好禮】 (限量 100 組,錯過就沒
Thumbnail
從零開始建立第一個 Tauri 應用程式並打包成一個應用程式安裝檔,涵蓋環境準備、工具安裝、專案建立、結構解析、執行與打包發布。
Thumbnail
從零開始建立第一個 Tauri 應用程式並打包成一個應用程式安裝檔,涵蓋環境準備、工具安裝、專案建立、結構解析、執行與打包發布。
Thumbnail
Vibe Coding Replit 教學與費用詳解 Replit 是一個功能強大的雲端編程平台,旨在簡化程式開發過程,無論是對於初學者還是專業開發者。 這個平台支持多種編程語言,並提供即時協作、代碼編輯、測試和部署等功能。本文將詳細介紹 Replit 的使用方法及其收費模式,幫助用戶
Thumbnail
Vibe Coding Replit 教學與費用詳解 Replit 是一個功能強大的雲端編程平台,旨在簡化程式開發過程,無論是對於初學者還是專業開發者。 這個平台支持多種編程語言,並提供即時協作、代碼編輯、測試和部署等功能。本文將詳細介紹 Replit 的使用方法及其收費模式,幫助用戶
Thumbnail
本文介紹了虛擬私人網路(VPN)的重要性和功能,無論是在公共Wi-Fi環境下工作、個人隱私保護,VPN都是現代網路使用者的必要工具。我推薦NordVPN作為理想選擇,因其強大的安全性和多設備支援。內文也會透過詳盡的圖解、逐步帶大家完成註冊NordVPN!
Thumbnail
本文介紹了虛擬私人網路(VPN)的重要性和功能,無論是在公共Wi-Fi環境下工作、個人隱私保護,VPN都是現代網路使用者的必要工具。我推薦NordVPN作為理想選擇,因其強大的安全性和多設備支援。內文也會透過詳盡的圖解、逐步帶大家完成註冊NordVPN!
Thumbnail
若說易卜生的《玩偶之家》為 19 世紀的女性,開啟了一扇離家的窄門,那麼《海妲.蓋柏樂》展現的便是門後的窒息世界。本篇文章由劇場演員 Amily 執筆,同為熟稔文本的演員,亦是深刻體察制度縫隙的當代女性,此文所看見的不僅僅是崩壞前夕的最後發聲,更是女人被迫置於冷酷的制度之下,步步陷入無以言說的困境。
Thumbnail
若說易卜生的《玩偶之家》為 19 世紀的女性,開啟了一扇離家的窄門,那麼《海妲.蓋柏樂》展現的便是門後的窒息世界。本篇文章由劇場演員 Amily 執筆,同為熟稔文本的演員,亦是深刻體察制度縫隙的當代女性,此文所看見的不僅僅是崩壞前夕的最後發聲,更是女人被迫置於冷酷的制度之下,步步陷入無以言說的困境。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News