拥有远程系统凭证时如何实现指定应用操作截图的自动化流程?
需求实现方案
分两种落地路径,优先选方案一,稳定性和执行效率更高:
方案一:远程系统内置自动化脚本(推荐)
无需保持远程桌面窗口常开,后台即可执行全流程:
- 远程端部署UI自动化组件
根据远程系统的操作系统选型:- Windows:优先用
Pywinauto(可直接定位应用控件,无需硬写坐标)+ Python 组合,或者用AutoHotkey写轻量脚本 - macOS/Linux:用
PyAutoGUI+xdotool(Linux)/Automator(macOS)组合
示例核心逻辑片段:
import subprocess import pyautogui import time # 1. 启动指定应用 subprocess.Popen(r'C:\Program Files\ABC\ABC.exe') # Windows路径,mac/Linux替换为对应启动命令 time.sleep(5) # 等待应用加载完成,可根据实际情况调整 # 2. 模拟点击菜单、截图 # 方法1:控件定位(Pywinauto支持,不会随分辨率变化偏移) # 方法2:坐标点击(简单直接,需固定远程系统分辨率) pyautogui.click(x=200, y=150) # 点击对应菜单 time.sleep(2) pyautogui.screenshot(r'C:\auto_screenshots\menu_click.png') # 截图存储到远程端指定目录 # 后续操作按自己的流程依次写即可 - Windows:优先用
- 配置截图自动同步
两种常用方案:- 本地开一个SMB共享文件夹,远程端将截图直接存储到共享文件夹路径,截图完成本地直接可见,无需额外传输操作
- 远程端提前配置SSH免密登录本地设备,脚本执行完所有截图后,执行
scp/pscp命令批量传输截图到本地指定目录
- 触发执行
远程系统开启SSH服务,你本地直接通过SSH发送命令启动自动化脚本即可,全程不需要打开远程桌面工具。
方案二:本地端基于TeamViewer/AnyDesk模拟操作
适合不想修改远程系统配置的场景,需要保持远程桌面窗口常开:
- 本地部署
PyAutoGUI或者按键精灵类的模拟操作工具,先固定本地远程桌面窗口的位置和大小,提前录制好窗口内各个操作目标的相对坐标 - 按业务流程写操作逻辑:先模拟点击远程桌面内的应用启动图标,等待加载完成后依次点击对应菜单、标签,每次操作完成后直接截取本地屏幕中远程桌面窗口的对应区域,截图直接存在本地,不需要额外传输
- 优化建议:可以搭配
OpenCV做图像模板匹配,识别到目标按钮加载完成后再执行点击,比固定等待时间的兼容性更好。
注意事项
需提前关闭远程系统的自动休眠、自动锁屏功能,避免自动化流程中断
若使用坐标点击方案,需固定远程系统的分辨率和缩放比例,避免坐标偏移
截图时注意排除远程桌面工具的本地工具栏区域,避免截图内容冗余
内容的提问来源于stack exchange,提问作者ItsAnkush
相关产品推荐
相关产品推荐

