利用 pyautogui 库自动登录 SAP

作者:ABAP三叔 约 3 分钟阅读 更新日期:2025-03-02 1 年前更新 标签:ABAP, Basis, Data Engineering, SD, WM, 仓库管理, 开发, 数据工程, 系统管理, 销售分销
利用 pyautogui 库自动登录 SA - 封面图
利用 pyautogui 库自动登录 SA - 封面图

前言

纯纯出于娱乐目的做的这个自动登录SAP工具,在Macos和Windows系统上经测试都OK,在输入用户名那里,因为开启历史记录的原因,偶有小BUG。

利用 pyautogui 库自动登录 SA - 封面图
利用 pyautogui 库自动登录 SA - 封面图

使用方法

1\. 先将SAPGUI的第一个页面的布局改成list

利用 pyautogui 库自动登录 SA - 封面图
利用 pyautogui 库自动登录 SA - 封面图

2\. 修改conf.json配置

说明:

ApplicationPath为应用程序路径(Windows系统改"Win"节点下配置)

ApplicationNam e为应用程序名 (Windows系统改"Win "节点下配置 )

WindowName为GUI登录页的窗口名

index为client在GUI登录页的第几行

title为Python窗口中的client显示名称

client/user/password为登录SAP的客户端/用户名/密码

{  "Win": { "ApplicationPath": "C:\\Program Files (x86)\\SAP\\FrontEnd\\SapGui\\saplogon.exe", "ApplicationName": "SAP Logon" }, "Mac": { "ApplicationPath": "/Applications/SAP Clients/SAPGUI/SAPGUI.app", "ApplicationName": "SAPGUI", "WindowName": "SAP GUI for Java" }, "items": [ { "index": 7, "title": "Antex DEV 200", "client": "200", "user": "#", "password": "#" }, { "index": 7, "title": "Antex DEV 400", "client": "400", "user": "#", "password": "#" }, { "index": 8, "title": "Antex PRD 800", "client": "800", "user": "#", "password": "#" }, { "index": 4, "title": "PB S4D 110", "client": "110", "user": "#", "password": "#" }, { "index": 4, "title": "PB S4D 120", "client": "120", "user": "#", "password": "#" }, { "index": 5, "title": "PB S4P 800", "client": "800", "user": "#", "password": "#" }, { "index": 6, "title": "PB S4Q 300", "client": "300", "user": "#", "password": "#" } ]}

3\. python环境需要安装 pyautogui和wxPython库,windows下额外需要安装 pywin32库

效果展示

总结

关于使用:程序已经通过Pyinstaller打包过,可拷贝dist路径下的文件夹到本地直接使用 。

###

AutoLogonSapGUI_Win Windows版本,需修改conf.json

###

AutoLogonSapGUI.app Mac上app,需右键/显示包内容/Contents/Resources/conf.json修改配置

###

AutoLogonSapGUI_Mac Mac上非app,需修改conf.json

主要源代码在 sapgui.py 文件中

GITHUB地址:https://github.com/a87b01c14/AutoLogonSapGUI.git

ABAP三叔

关于作者:ABAP三叔

企业信息化与 SAP 技术顾问,长期专注 SAP ABAP、FI/CO、MM、SD 等模块的技术分享与实战经验总结。查看更多介绍

来源说明:本文内容由「利用pyautogui库自动登录SAP.md」整理生成,仅用于内部技术分享与学习交流。