各位高手大家好:
我尝试使用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 # 目前 没有办法在这一步中实现功能,浮窗无法进行
请问各位有经验的高手,这种情况有没有解决的建议。
谢谢