RPALite

RPALite - 一个开源的 Python 和 Robot Framework RPA(机器人流程自动化)编程库

English 中文

PyPI License PyPI - Python Version

目录

简介

RPALite 是一个开源的 RPA(机器人流程自动化)库。您可以通过 Python 或 Robot Framework 来使用 RPALite 实现各种自动化任务,只需少量代码即可完成。

RPALite 提供了强大的自动化能力和简洁的 API,让您能够跨不同应用程序自动化 UI 交互、数据输入和基于图像的操作。

RPALite 目前仅支持 Windows 平台。对 macOS 和 Linux 的支持正在积极开发中。

功能特性

RPALite 支持以下操作:

平台支持

Windows

macOS (开发中)

Linux (计划中)

OCR 引擎选项

RPALite 支持两种 OCR 引擎进行文本识别:

您可以在初始化时指定使用哪个引擎:

# 使用默认引擎(EasyOCR)
rpa = RPALite()

# 使用PaddleOCR
rpa = RPALite(ocr_engine="paddleocr")

性能优化

RPALite 中最耗时的操作是图像识别和 OCR。这两种 OCR 引擎在具有独立显卡和 CUDA 支持的计算机上运行效率更高。如果您发现 RPALite 运行缓慢,请考虑在具有独立显卡和 CUDA 支持的计算机上运行,并安装适当版本的 PyTorch。

文档

在这份文档的后面部分,我们提供了快速入门,让你可以对 RPALite 有一个简单直接的了解。

以下是更详细的文档链接:

除了以上文档以外,我们提供一份英文的 Robot Framework Library 文档,你可以通过在线 Robot Framework 文档访问。如果你希望在本地打开,可以直接打开项目目录下的 Robot Framework Library 文档

安装

您可以通过 pip 安装 RPALite:

pip install RPALite

系统会根据您的操作系统自动安装特定平台所需的依赖项。

快速入门

如前所述,您可以通过 Python 或 Robot Framework 使用 RPALite。以下是一些示例:

Python

基础示例

以下是使用 RPALite 操作 Windows 记事本的示例:

from RPALite import RPALite
rpalite = RPALite()

# 显示桌面
rpalite.show_desktop()

# 运行记事本并输入一些文本
rpalite.run_command("notepad.exe")
rpalite.input_text("这是一个使用 RPALite 的演示。\n")

# 查找记事本应用并关闭它
app = rpalite.find_application(".*Notepad")
rpalite.close_app(app)

高级功能示例

from RPALite import RPALite
rpalite = RPALite()

# 等待文本出现,设置超时时间
position = rpalite.wait_until_text_shown("登录", timeout=10)

# 点击由文本标识的按钮
rpalite.click_by_text("登录")

# 操作表单字段
rpalite.enter_in_field("用户名", "my_user")
rpalite.enter_in_field("密码", "my_password")

# 等待图像出现
rpalite.wait_until_image_shown("dashboard_icon.png", timeout=15)

# 开始屏幕录制
recording_path = rpalite.start_screen_recording(fps=15)

# 执行一些操作...

# 停止录制
rpalite.stop_screen_recording()

高级键盘输入示例

# 简单文本输入
rpalite.send_keys("欢迎使用 RPALite")

# 特殊键
rpalite.send_keys("{ENTER}")
rpalite.send_keys("{ESC}")

# 组合键
rpalite.send_keys("^c")          # Control+C
rpalite.send_keys("%{F4}")       # Alt+F4
rpalite.send_keys("+(abc)")      # Shift+ABC(大写)

Robot Framework

基础示例

以下是使用 RPALite 操作 Windows 记事本的示例:

*** Settings ***
Library    RPALite

*** Test Cases ***
测试记事本
    Send Keys    {VK_LWIN down}D{VK_LWIN up}
    Run Command    notepad.exe
    ${app} =     Find Application    .*Notepad
    Maximize Window    ${app}
    Input Text    这是一个使用 RPALite 的演示。
    Close App    ${app}

高级功能示例

*** Settings ***
Library    RPALite
Library    OperatingSystem

*** Test Cases ***
登录表单自动化
    # 等待文本出现,设置超时时间
    ${position} =    Wait Until Text Shown    登录    timeout=10

    # 点击 UI 元素
    Click By Text    登录

    # 填写表单字段
    Enter In Field    用户名    my_user
    Enter In Field    密码    my_password

    # 截图验证
    ${screenshot} =    Take Screenshot    filename=login_screen.png

    # 等待图像出现
    Wait Until Image Shown    dashboard_icon.png    timeout=15

    # 开始屏幕录制
    ${recording_path} =    Start Screen Recording    fps=15

    # 执行测试操作
    Click By Text    控制面板
    Sleep    2

    # 验证屏幕上存在文本
    Validate Text Exists    欢迎, my_user

    # 停止录制
    ${final_path} =    Stop Screen Recording
    Log    录制保存到: ${final_path}

高级键盘输入示例

*** Settings ***
Library    RPALite

*** Test Cases ***
键盘操作
    # 简单文本输入
    Input Text    来自 Robot Framework 的问候!

    # 特殊键和组合键
    Send Keys    {ENTER}
    Send Keys    ^a    # 全选
    Send Keys    ^c    # 复制
    Send Keys    {TAB}
    Send Keys    ^v    # 粘贴

    # 功能键和修饰符
    Send Keys    {F5}
    Send Keys    %{F4}    # Alt+F4

    # 获取剪贴板内容
    ${clipboard_text} =    Get Clipboard Text
    Log    剪贴板内容: ${clipboard_text}

贡献指南

如果您想为 RPALite 贡献代码,欢迎提交 Pull Request。请确保您的代码风格与现有代码库一致,并通过 tests 目录中的所有测试。此外,请确保为任何新增或修改的代码更新单元测试。