首页 > 编程问答 >可以在没有 SAPGui 脚本记录器的情况下捕获 SAP GUI 交互吗?

可以在没有 SAPGui 脚本记录器的情况下捕获 SAP GUI 交互吗?

时间:2024-07-29 10:48:55浏览次数:10  
标签:python sap-gui

是否可以在不依赖 VBS 记录器的情况下捕获与 SAP GUI 元素的交互,是否有专门为此特定目的而设计的集成 SAP GUI 组件?

观察:不是记录器屏幕

import win32com.client

# Conectando ao SAPGUI
SAPGuiAuto = win32com.client.GetObject("SAPGUI")
if not type(SAPGuiAuto) == win32com.client.CDispatch:
    raise Exception("Não foi possível acessar o SAPGUI.")

application = SAPGuiAuto.GetScriptingEngine
if not type(application) == win32com.client.CDispatch:
    raise Exception("Não foi possível acessar a aplicação SAP.")

# Ativar a janela do SAPGUI (pode variar dependendo da configuração)
connection = application.Connections(0)  # Pode precisar ajustar o índice da conexão
session = connection.Sessions(0)  # Pode precisar ajustar o índice da sessão

>>>>> Get interaction <<<<

虽然你提供的代码可以连接到 SAP GUI 并进行操作,但它 不能直接捕获与 SAP GUI 元素的交互 。你 需要额外的机制 来实现捕获用户交互的目标。

以下是一些可以捕获 SAP GUI 交互的方法:

1. SAP GUI Scripting (已知的局限性):

  • SAP GUI Scripting 可以记录用户操作并生成 VBScript 代码。虽然你说不想依赖 VBS 记录器,但你可以使用 Scripting 对象模型 直接编写代码,监听和捕获特定事件。
  • 局限性:
    • 需要启用 SAP GUI Scripting。
    • 可能与所有 SAP GUI 版本和补丁级别不兼容。
    • 只能捕获脚本化应用程序中的事件,并非所有 SAP GUI 元素都支持脚本化。

2. Windows API (更复杂):

  • 可以使用 win32api pywinauto 等库来监听 Windows 消息并捕获鼠标点击、键盘输入等事件。
  • 挑战:
    • 需要识别 SAP GUI 元素的窗口句柄和控件 ID,这可能很复杂。
    • 需要过滤掉无关的 Windows 消息,只处理与 SAP GUI 相关的消息。

3. 第三方工具 (最简单但可能需要付费):

  • 一些第三方工具专门用于捕获 SAP GUI 交互,例如:
    • Automation Anywhere
    • UiPath
    • Blue Prism
  • 优点:
    • 通常提供易于使用的界面,无需编写大量代码。
    • 可能支持更广泛的 SAP GUI 版本和补丁级别。

4. SAP GUI HTML Control (适用于 Web 应用):

  • 如果你的 SAP 系统使用基于 Web 的界面,可以考虑使用 Selenium 或其他 Web 测试框架来捕获用户交互。

总结:

没有直接集成在 SAP GUI 中的组件可以捕获用户交互而不依赖脚本记录器。你需要选择适合你的方法,并根据具体情况进行调整。

如果你能提供更多关于你想捕获哪些特定交互的信息,我可以提供更具体的建议。

标签:python,sap-gui
From: 77296915

相关文章

  • 使用 Azure Devops API (Python) 撰写 PR 评论
    在任何地方都找不到直接的方法。如何通过Python中的AzureDevopsAPI将注释添加到拉取请求?可以使用AzureDevOpsPythonAPI将注释添加到拉取请求。以下是执行此操作的方法:1.安装AzureDevOps库:pipinstallazure-devops2.导入必要的类并对的组......
  • Python\Python312\Lib\site-packages\torch\lib\fbgemm.dll
    在此处输入图像描述我正在尝试从HuggingFace导入GPT-2变压器模型,但当我尝试导入它时,遇到错误。即使当我尝试仅导入Torch时,我也会收到相同的错误。我已尝试重新安装Torch并完成了所有操作,包括更新VisualC++Redistributable软件包和更新我的驱动程序,但问题......
  • Python GEKKO 不更新参数
    我正在Python中使用GEKKO来估计弹跳球的轨迹。为此,我需要估计2个变量:e_1(恢复系数)和q_1(每次弹跳时的水平速度损失)。我已为其编写了以下代码,但参数似乎没有更新,尽管解算器已成功执行。参数的初始值与参数的最终优化值相同e_1=0.8和q_1=1代码:imp......
  • Python内置模块常用总结
    目录unittestunittest点击查看代码importunittestfromhtmltestreportimportHTMLTestReportclassTestOne(unittest.TestCase):@classmethoddefsetUpClass(cls)->None:print(f'setUpClass')@classmethoddeftearDownClass......
  • 使用 warpPerspective 生成​​全景图像并使用 python 进行单应拼接
    我没有获得正确的全景图像,并且图像质量随着图像的缝合而降低。我期待获得正确的360度图像,并且不会因正确拼接而降低质量。当我使用网络摄像头图像时。它应该得到没有不匹配的拼接图像。我正在研究匹配FCFS中的图像或最佳匹配的方法。创建并添加一个输入图像以及image1和im......
  • 通过 python 获取 android.view.ViewGroup 中的子项
    是否可以使用python、adb或任何库从android.view.ViewGroup获取子元素或文本,但不需要java和kotlin?我正在尝试使用python自动化android模拟器。与模拟器的交互通过adb进行。当我得到屏幕转储时,我看到我需要的元素是android.view.ViewGroup,并且text和content-......
  • Python反编译失败。 (不支持的操作码:JUMP_IF_NOT_EXC_MATCH)
    我尝试使用“pycdc.exe”反编译使用pycdc.exe失败。因为错误“不支持的操作码:JUMP_IF_NOT_EXC_MATCH”在此处输入图像描述使用pycdc.exe失败。因为错误“不支持的操作码:JUMP_IF_NOT_EXC_MATCH”你知道我为什么失败吗?(我试图编译的.pyc似乎是3.10版本)......
  • 计算机毕业设计项目推荐,基于Echarts的高校就业数据可视化管理系统 81461(开题答辩+程序
    摘 要信息化社会内需要与之针对性的信息获取途径,但是途径的扩展基本上为人们所努力的方向,由于站在的角度存在偏差,人们经常能够获得不同类型信息,这也是技术最为难以攻克的课题。针对高校就业管理等问题,对高校就业管理进行研究分析,然后开发设计出高校就业数据可视化管理系统......
  • Python逆向总结(Python反编译)
    目录第一种:直接反编译型第二种:打包成exe的py文件第三种: 给pyc字节码(类汇编形式)第四种:加花的pyc内容参考第一种:直接反编译型除了直接获得题目内容的python文件外,出题人也可以稍微加工一点点,给出题目python文件所对应的pyc文件,即python的字节码。PYC文件的定义pyc......
  • 【Python学习手册(第四版)】学习笔记06-Python动态类型-赋值模型详解
    个人总结难免疏漏,请多包涵。更多内容请查看原文。本文以及学习笔记系列仅用于个人学习、研究交流。主要介绍Python的动态类型(也就是Python自动为跟踪对象的类型,不需要在脚本中编写声明语句),Python中变量和对象是如何通过引用关联,垃圾收集的概念,对象共享引用是如何影响多个变量......