如何使用Python 3登录SAPGUI?

2023-11-29

我正在尝试使用 Python 登录 SAPGUI,以便创建一个脚本来自动运行事务,但我遇到了问题。每当我尝试登录时,我都会收到<class 'pywintypes.com_error'>错误。我不确定为什么会出现此错误。这是我第一次尝试导航到 SAP GUI,因此我不确定是否缺少建立成功登录的重要行。

我们以前使用过 VBA,但我的同事表示有兴趣将我们的自动化脚本从 Excel 迁移到 Python,而且由于我在 Python 方面经验最丰富,所以我的任务是让它正常工作。

# Importing the Libraries
import win32com.client
import sys
import subprocess
import time


# This function will Login to SAP from the SAP Logon window

def saplogin():

    try:

        path = r"C:\Program Files (x86)\SAP\FrontEnd\SAPgui\saplogon.exe"
        subprocess.Popen(path)
        time.sleep(10)


        SapGuiAuto = win32com.client.GetObject("SAPGUI")
        if not type(SapGuiAuto) == win32com.client.CDispatch:
            return

        application = SapGuiAuto.GetScriptingEngine
        if not type(application) == win32com.client.CDispatch:
            SapGuiAuto = None
            return

        connection = application.Children(0)
        if not type(connection) == win32com.client.CDispatch:
            application = None
            SapGuiAuto = None
            return

        session = connection.Children(1)
        if not type(session) == win32com.client.CDispatch:
            connection = None
            application = None
            SapGuiAuto = None
            return

        session.findById("wnd[0]/usr/txtRSYST-BNAME").text = "USER"
        session.findById("wnd[0]/usr/pwdRSYST-BCODE").text = "PASS"
        session.findById("wnd[0]").sendVKey(0)

    except:
        print(sys.exc_info()[0])

    finally:
        session = None
        connection = None
        application = None
        SapGuiAuto = None


saplogin()

回答您有关登录自动化的问题,它是这样完成的:

import subprocess
subprocess.check_call(['C:\Program Files (x86)\SAP\FrontEnd\SAPgui\\sapshcut.exe', '-system=DCG210', '-client=100', '-user=USERNAME', '-pw=PASSWORD'])

where DG210- SAP 系统的名称已在 SAPGui 中设置

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用Python 3登录SAPGUI? 的相关文章

随机推荐

  • 对于 HTML 表单输入字段,disabled="disabled" 和 readonly="readonly" 之间有什么区别?

    我读过一些相关内容 但我似乎找不到任何关于不同浏览器如何处理事物的可靠信息 A readonly元素只是不可编辑 但是当根据form提交 Adisabled元素不可编辑 并且不会在提交时发送 另一个区别是readonly元素可以聚焦 并且在
  • 蓝图 404 错误处理程序不会在蓝图的 url 前缀下激活

    我创建了一个蓝图404错误处理程序 但是 当我转到蓝图前缀下不存在的 url 时 会显示标准 404 页面 而不是我的自定义页面 如何让蓝图正确处理404错误 以下是演示该问题的简短应用程序 导航至http localhost 5000 s
  • CSS 优先级

    我的网页包含 引用的样式表包含 rightColumn margin 0 padding 0 我有一张桌子在rightcolumn我希望单元格有一点填充的 ID 但是 引用的样式表优先于内联样式 我通过视觉和 Firebug 看到了这一点
  • Rmarkdown中嵌入的PDF文档的大小

    我正在尝试将 pdf 文档嵌入到 KnitR 生成的 Rmarkdown 文档中 includepdf 它可以工作 但包含的文档非常小 下面的可重现示例 output pdf document header includes usepack
  • 如何在本地更改navigationBar背景颜色

    我尝试了这种方法 但它是全局的 这是不希望的 struct ExperienceView View init UINavigationBar appearance barTintColor colorLiteral red 0 176470
  • Extjs 4 MVC - App.JS 查找我的控制器的相对路径问题 - 在带有 Spring MVC 的 WEB-INF 下

    也许我的问题的解决方案包含在问题中 但基本上 我是 ExtJs 4 MVC 的新手 在放置 JSP 的位置时遇到一些困难 我正在使用带有请求映射注释的 Spring MVC 我在 ExtJs App JS 查找控制器时遇到相对路径问题 我通
  • Woocommerce 获取下一个/上一个产品相同类别

    我读过这个 Woocommerce 获取下一个 上一个产品 并且还尝试过这个 他们中的任何一个都在 woocommerce 产品类别下工作 有什么想法吗 提前致谢 在您的文件 yourtheme functions php 中添加这些函数
  • 安卓 adb 找不到

    当我从 Eclipse 运行 Android 应用程序时 出现此错误 Unexpected exception Cannot run program home antz Development adt bundle linux sdk pl
  • 将照片保存到相机胶卷并确保它确实保存

    我目前正在以这种方式将 UIImage 保存到相机胶卷中 UIImageWriteToSavedPhotosAlbum finalPicture image nil nil nil 但是 如果用户拒绝我们访问他们的照片的权限 会发生什么 我
  • 背景大小 100% 在 IE8 和 IE7 中不起作用

    我有一个空的 div 其中包含比容器大小更大的背景图像 我通过以下方式解决这个问题background image具有值 100 100 的属性 直到您在 IE8 和 IE7 中打开示例为止都没有问题 有什么解决方案吗 甚至是 javasc
  • 通过Java连接SAP时出现异常

    您能告诉我解决以下问题的解决方案吗 我在尝试通过 Java 类连接 SAP 相关文件时遇到此异常 即使sapjco3 jar在我的图书馆路径中 我在 Windows XP 和 Windows Server 98 中尝试过此操作 java l
  • 扩展不正确的 Typescript 类定义

    我正在使用 NPM 包下一个路线在我的项目中 默认导出是一个具有如下类型定义的类 export default class Routes implements Registry getRequestHandler app Server cu
  • 从 Java 调用 JavaScript 时出错

    我试图从 Java 调用 JavaFx WebView 中的 JavaScript 但我得到 Exception in thread JavaFX Application Thread netscape javascript JSExcep
  • 匹配不以空格开头或结尾的字符串的正则表达式

    我需要一个正则表达式来确保字符串不以空格开头或结尾 我不在乎它的 中间 是否有空格 只是不在开头或结尾 我有一个正则表达式almost works S S 以下是一些结果示例 HELLO Match HEL LO Match HELLO N
  • PHP file_get_contents - 替换所有 链接中的所有 URL

    SOLVED 回答如下 如何 使用 file get contents 从拉取的文件中获取所有 url 该文件可以是动态的并且有多个 URL 用自定义的新 URL 替换所有 url 并将现有的当前 url 添加到末尾作为变量 Example
  • 如何将 CString 和 std::string std::wstring 相互转换?

    CString非常方便 同时std string与STL容器更加兼容 我在用hash map 然而 hash map不支持CStrings 作为键 所以我想转换CString into a std string 写一个CString哈希函数
  • 如何获取 ASP.NET 应用程序的根文件夹

    我正在尝试获取应用程序的根文件夹 我使用了以下代码 但这给出了bin文件夹 但我需要的是应用程序的根文件夹 有可能得到这个吗 This is the full directory and exe name String fullAppNam
  • 这个 php 结构是什么意思:$html->redirect("URL")?

    我在 php 的其他地方看到过这个 gt 我以前学PHP的一本书里有这个 但是从来没有解释过 它有什么作用 如何工作 我知道重定向位 但是 html 变量和重定向函数发生了什么 提前致谢 注意 如果您不知道 对象 是什么 则下一段可能没有意
  • 如何使用executemany将Python中的字典列表插入MySQL

    我目前正在使用 MySQL 和 Python 从网络上抓取数据 具体来说 我正在抓取表数据并将其插入到我的数据库中 我当前的解决方案有效 但我觉得它效率极低 如果我不重写代码 很可能会锁定我的数据库 这是我目前使用的 部分代码 itemBa
  • 如何使用Python 3登录SAPGUI?

    我正在尝试使用 Python 登录 SAPGUI 以便创建一个脚本来自动运行事务 但我遇到了问题 每当我尝试登录时 我都会收到