JT Tomato� 2019-10-12 17:22 采纳率: 16.7%
浏览 842
已采纳

Python 控制SAP时,无法通过引用SAP 代码对浮窗进行控制

各位高手大家好:

我尝试使用Python 控制SAP 完成一些常规操作:

根据网上的方法:使用 SAP 自带的 Record 功能。
图片说明
得到SAP 操作背后的代码,如下:

session.findById("wnd[0]/tbar[0]/okcd").text = "vk12"
    session.findById("wnd[0]").sendVKey (0)
    session.findById("wnd[0]/usr/ctxtRV13A-KSCHL").text = "YBC0"
    session.findById("wnd[0]/usr/ctxtRV13A-KSCHL").caretPosition = 4
    session.findById("wnd[0]").sendVKey (0)

    session.findById("wnd[1]/usr/sub:SAPLV14A:0100/radRV130-SELKZ[7,0]").select      # 目前 没有办法在这一步中实现功能,浮窗无法进行选择,之间跳进了浮窗中的第一个选项
    session.findById("wnd[1]/usr/sub:SAPLV14A:0100/radRV130-SELKZ[7,0]").setFocus    # 目前 没有办法在这一步中实现功能,浮窗无法进行选择,之间跳进了浮窗中的第一个选项
    session.findById("wnd[1]").sendVKey (0)
    session.findById("wnd[0]/usr/ctxtF001").text = "AU10"
    session.findById("wnd[0]/usr/ctxtF001").caretPosition = 4
    session.findById("wnd[0]/usr/btn%_F002_%_APP_%-VALU_PUSH").press
    session.findById("wnd[1]/usr/tabsTAB_STRIP/tabpSIVA/ssubSCREEN_HEADER:SAPLALDB:3010/tblSAPLALDBSINGLE/ctxtRSCSEL_255-SLOW_I[1,0]").text = number_pop

    session.findById("wnd[1]/tbar[0]/btn[8]").press
    session.findById("wnd[0]/tbar[1]/btn[8]").press
    session.findById("wnd[0]/usr/btnFCODE_MARL").press
    session.findById("wnd[0]/mbar/menu[0]/menu[5]/menu[0]").select
    session.findById("wnd[0]/mbar/menu[5]/menu[5]/menu[2]/menu[1]").select
    session.findById("wnd[1]/usr/subSUBSCREEN_STEPLOOP:SAPLSPO5:0150/sub:SAPLSPO5:0150/radSPOPLI-SELFLAG[1,0]").select
    session.findById("wnd[1]/usr/subSUBSCREEN_STEPLOOP:SAPLSPO5:0150/sub:SAPLSPO5:0150/radSPOPLI-SELFLAG[1,0]").setFocus
    session.findById("wnd[1]").sendVKey (0)
    session.findById("wnd[1]/usr/ctxtDY_FILENAME").text = "123.xls"
    session.findById("wnd[1]/usr/ctxtDY_FILENAME").caretPosition = 7
    session.findById("wnd[1]/tbar[0]/btn[0]").press

目前遇到了一个困难: 通过以上方法得到的代码没有办法对SAP 弹出的浮窗中的内容进行操作:

比如,对下图之中弹出的弹窗中的选项进行选择

图片说明

对弹窗进行选择的SAP代码如下。 但目前这两行代码并不能发挥功能

session.findById("wnd[1]/usr/sub:SAPLV14A:0100/radRV130-SELKZ[7,0]").select      # 目前 没有办法在这一步中实现功能,浮窗无法进行选择,之间跳进了浮窗中的第一个选项
session.findById("wnd[1]/usr/sub:SAPLV14A:0100/radRV130-SELKZ[7,0]").setFocus    # 目前 没有办法在这一步中实现功能,浮窗无法进行

请问各位有经验的高手,这种情况有没有解决的建议。

谢谢

  • 写回答

4条回答 默认 最新

  • 关注
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 已采纳回答 9月14日

悬赏问题

  • ¥15 SQLServer怎么录入下标
  • ¥100 无网格伽辽金方法研究裂纹扩展的程序
  • ¥15 错误于library(org.Hs.eg.db): 不存在叫‘org.Hs.eg.db’这个名称的程序包,如何解决?
  • ¥60 求一个图片处理程序,要求将图像大小跟现实生活中的大小按比例联系起来的
  • ¥50 求一位精通京东相关开发的专家
  • ¥100 求懂行的大ge给小di解答下!
  • ¥15 pcl运行在qt msvc2019环境运行效率低于visual studio 2019
  • ¥15 MAUI,Zxing扫码,华为手机没反应。可提高悬赏
  • ¥15 python运行报错 ModuleNotFoundError: No module named 'torch'
  • ¥100 华为手机私有App后台保活