搜索文档

输入关键词,回车打开结果

无接口系统填报实战:用 Playwright + 视觉坐标计算实现“外挂式”桌面财务端制单

在企业信息化演进的过程中,最常见的阻碍就是**“系统数据孤岛”**。

一些使用了十余年的老旧财务系统或特种行业申报系统,由于开发厂商停产或安全策略限制,无法开放任何对外接口。传统 RPA 依靠精确的 HTML 定位器,一旦遭遇非标控件或动态布局,就很容易崩溃罢工。

三函代码采用最新的 “多模态像素坐标定位” 技术,设计了一种不依赖底层代码的“外挂式”填报引擎。

一、 “脑(AI)+ 手(RPA)”的决策架构

该架构不需要读取系统源代码,而是完全站在真实人类的视角进行操作:

[获取屏幕截图] ➔ [AI 识别目标框与文字位置] ➔ [计算像素中心坐标 (X, Y)] ➔ [RPA 鼠标移动并点击] ➔ [模拟键盘输入]

这避免了由于底层开发技术(如 React、Vue、Silverlight、Delphi)不同而导致的定位失败。

二、 核心像素计算与模拟填报代码

以下代码展示了如何使用 Python 的多模态视觉接口,在屏幕截图上识别目标文字,并计算出点击的坐标值:

import numpy as np
import pyautogui
import time

def find_element_by_visual(text_target, screen_data):
    """
    利用本地视觉文本检索,在当前屏幕中找到 text_target 所在的中心像素坐标
    screen_data: 来自多模态检测到的文本边界框 list, 每个包含 {'text', 'box': [x_min, y_min, x_max, y_max]}
    """
    for element in screen_data:
        if text_target in element['text']:
            box = element['box']
            # 计算边界框中心点坐标
            center_x = int((box[0] + box[2]) / 2)
            center_y = int((box[1] + box[3]) / 2)
            return center_x, center_y
    return None

def execute_voucher_input(voucher_details, detected_elements):
    """
    根据凭证数据,自动操控鼠标点击录入
    """
    # 1. 寻找“凭证录入”按钮并点击
    pos = find_element_by_visual("凭证录入", detected_elements)
    if pos:
        pyautogui.moveTo(pos[0], pos[1], duration=0.5)
        pyautogui.click()
        time.sleep(1.0) # 等待新窗口弹出
    else:
        raise RuntimeError("无法在屏幕上找到 '凭证录入' 按钮!")
        
    # 2. 定位到借方金额输入框并打字
    # 假设通过视觉模型识别到了“借方金额”文字右侧的输入框位置
    debit_input_pos = find_element_by_visual("借方金额输入区", detected_elements)
    if debit_input_pos:
        pyautogui.click(debit_input_pos[0], debit_input_pos[1])
        # 清空原有内容并输入金额
        pyautogui.hotkey('ctrl', 'a')
        pyautogui.press('backspace')
        pyautogui.write(str(voucher_details['amount']))
        pyautogui.press('enter')

三、 异常与反爬虫策略应对

在无接口填报中,经常会遇到“账户锁定”、“期间锁定”等突发弹窗:

  1. 防死锁截图备份:一旦遇到未知错误,智能体会立即截取屏幕图像并进行哈希分类。如果判断为“期间锁定弹窗”,会自动点击“取消”或“确认”按钮,并把这一异常写入执行日志中,避免流程无限挂死。
  2. 人机混排操作延迟:为了防止被目标网站判断为恶意刷单,机器人在输入和点击时,加入随机的毫秒级操作延迟(Random Delay),模拟真实的打字节奏。

四、 结论

这种基于视觉像素定位的自动化填报技术,打通了企业老旧系统的最后一公里,使企业无需承担昂贵且风险巨大的二次系统集成开发,为企业平稳转型提供了成本最低的备选方案。

准备好体验全能智能体了吗?

下载 OmniAgent 社区版,体验真正的本地 AI 自动化。数据安全、永久免费。