You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

能否通过Python脚本触发UiPath流程?求实现方法

用Python触发UiPath流程并实现每日自动执行

完全可以通过Python脚本触发UiPath流程,下面提供两种可靠的实现方案,以及定时触发的配置方法:

方案一:调用UiPath命令行工具(UiRobot.exe)

这是最直接的方式,适用于所有UiPath Studio版本。

步骤1:确认UiRobot.exe路径

UiRobot.exe通常安装在以下路径(根据你的安装位置调整):

C:\Program Files (x86)\UiPath\Studio\UiRobot.exe

步骤2:编写Python调用脚本

使用subprocess模块执行命令行指令来启动流程:

import subprocess

def run_uipath_workflow():
    # 替换为你的UiRobot.exe路径和流程文件路径
    uipath_robot_path = r"C:\Program Files (x86)\UiPath\Studio\UiRobot.exe"
    workflow_path = r"C:\Workflows\YourDataDownloadWorkflow.xaml"

    # 构建执行命令
    cmd = [uipath_robot_path, "execute", "--file", workflow_path]
    
    try:
        # 执行流程,捕获输出
        result = subprocess.run(cmd, check=True, capture_output=True, text=True)
        print(f"流程执行成功:{result.stdout}")
    except subprocess.CalledProcessError as e:
        print(f"流程执行失败:{e.stderr}")

# 测试运行
run_uipath_workflow()

如果你的流程是发布到本地UiRobot库的,可以用流程名称代替文件路径:

cmd = [uipath_robot_path, "execute", "--process", "YourWorkflowName"]

步骤3:配置每日自动触发

有两种方式实现定时:

  • 方法A:用Python的schedule库
    安装schedule库:pip install schedule,然后编写定时脚本:

    import schedule
    import time
    import subprocess
    
    def run_uipath_workflow():
        uipath_robot_path = r"C:\Program Files (x86)\UiPath\Studio\UiRobot.exe"
        workflow_path = r"C:\Workflows\YourDataDownloadWorkflow.xaml"
        cmd = [uipath_robot_path, "execute", "--file", workflow_path]
        try:
            subprocess.run(cmd, check=True)
            print("流程已完成执行")
        except subprocess.CalledProcessError as e:
            print(f"执行出错:{e}")
    
    # 设置每日8点执行
    schedule.every().day.at("08:00").do(run_uipath_workflow)
    
    # 保持脚本运行
    while True:
        schedule.run_pending()
        time.sleep(60)
    

    注意:需要保持这个Python脚本后台运行,否则定时会失效。

  • 方法B:用系统任务计划(推荐)
    这种方式更稳定,无需脚本一直运行:

    1. 打开Windows任务计划程序,创建新任务
    2. 触发器设置为「每日」,指定执行时间
    3. 操作选择「启动程序」,程序/脚本选你的Python.exe路径,添加参数为你的脚本文件路径(比如C:\Scripts\run_uipath.py)
    4. 勾选「不管用户是否登录都要运行」,并设置执行用户的密码,确保流程能正常访问桌面

方案二:调用UiPath本地REST API

适用于UiPath Studio 2020.10及以上版本,UiRobot默认开启本地API(端口2222)。

步骤1:确认UiRobot服务运行

打开任务管理器,确认UiRobot.exe进程处于运行状态,若未运行,可从开始菜单启动UiRobot。

步骤2:编写Python API调用脚本

使用requests模块调用API:

import requests

def get_workflow_id(workflow_name):
    # 获取本地所有流程列表
    response = requests.get("http://localhost:2222/processes")
    if response.status_code == 200:
        processes = response.json()
        # 根据流程名称查找ID
        for p in processes:
            if p["Name"] == workflow_name:
                return p["Id"]
    print("未找到指定流程")
    return None

def start_workflow(workflow_id):
    # 启动流程的请求体
    payload = {
        "startInfo": {
            "ProcessId": workflow_id,
            "JobPriority": "Normal"
        }
    }
    response = requests.post("http://localhost:2222/jobs/start", json=payload)
    if response.status_code == 201:
        print("流程已成功启动")
    else:
        print(f"启动失败:{response.text}")

# 替换为你的流程名称
target_workflow = "YourDataDownloadWorkflow"
workflow_id = get_workflow_id(target_workflow)
if workflow_id:
    start_workflow(workflow_id)

步骤3:配置定时触发

同样可以用schedule库或系统任务计划来定时执行这个API脚本,方法同方案一。

注意事项

  • 若流程需要桌面交互(比如登录窗口),确保执行脚本的用户有桌面访问权限,Windows任务计划中需勾选「不存储密码」以外的选项,并指定有权限的用户。
  • 命令行工具支持传递参数给流程,使用--arguments选项,比如--arguments '{"Username":"admin","Password":"123"}'。
  • 若遇到权限问题,尝试以管理员身份运行Python脚本或任务计划。

内容的提问来源于stack exchange,提问作者Surya Teja Sankuri

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.29 17:53:21