English | 中文 |
RPALite 是一个开源的 RPA(机器人流程自动化)库。您可以通过 Python 或 Robot Framework 来使用 RPALite 实现各种自动化任务,只需少量代码即可完成。
RPALite 提供了强大的自动化能力和简洁的 API,让您能够跨不同应用程序自动化 UI 交互、数据输入和基于图像的操作。
RPALite 目前仅支持 Windows 平台。对 macOS 和 Linux 的支持正在积极开发中。
RPALite 支持以下操作:
应用程序管理
鼠标操作
键盘操作
视觉自动化
UI 自动化
实用工具
RPALite 支持两种 OCR 引擎进行文本识别:
EasyOCR(默认)
PaddleOCR
您可以在初始化时指定使用哪个引擎:
# 使用默认引擎(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。以下是一些示例:
以下是使用 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(大写)
以下是使用 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 目录中的所有测试。此外,请确保为任何新增或修改的代码更新单元测试。