【问题标题】:Opening SAP via python通过 python 打开 SAP
【发布时间】:2022-10-20 14:40:23
【问题描述】:

我已经成功打开 SAP,但是我很难让 python 点击​​程序打开时出现的登录按钮。我怎么能做到这一点?

import subprocess

subprocess.run(r'C:\Program Files (x86)\SAP\FrontEnd\SAPgui\saplogon.exe')

# I would like python to press the logon button in the window that has just been opened.

【问题讨论】:

    标签: python


    【解决方案1】:

    在我看来,在以“makro 风格”自动化窗口时,python 并不是最好的语言,也许你可以使用类似 AutoHotkey (AHK) 的东西。

    为了完成: 似乎有像 PyAutoGUI 这样的 python 模块可以帮助你实现你想要的。 或者您可以导入 win32api 并尝试以这种方式控制窗口。

    如果您真的尝试使用 python 自动化 SAP,您应该尝试获取有关您可以调用的 SAP 官方 API 的信息。 也许这会有所帮助:https://blogs.sap.com/2020/06/09/connecting-python-with-sap-step-by-step-guide/

    【讨论】:

    • 感谢您的回答。在这种特殊情况下,您是否有任何关于如何应用 PyAutoGUI 或 win32api 的示例?
    • 不抱歉。我也只是用谷歌搜索了它。为了给出更好的答案,您可能应该编辑您的问题并提供更多背景信息。如果它只是您试图实现的自动登录,那么这种“鼠标单击”方法可能会起作用。但我认为这会很丑陋,因为有时 SAP 窗口不会在同一个位置,你必须考虑到这一点。
    • 但是,如果它是您尝试实现的登录后的一些进一步功能,我认为尝试使用这种方法自动执行此操作完全是一个坏主意。如果您从一开始就按照预期的方式(API)进行操作,您可以为自己节省大量的痛苦。
    【解决方案2】:

    您可以使用 win32com 连接到 SAPGUI。

    在您的 SAP 菜单中找到“脚本记录和回放”以在脚本中记录您的 SAP 事务。找到那个脚本,你可以在代码中看到你所有的交易。

    使用 SAPGUI with Python 示例在打开的 SAP 上创建会话。将该示例中的 SAP 脚本替换为您录制的脚本

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-02-10
      • 1970-01-01
      • 2015-02-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多