SAP 表格数据获取及操作 (Shell、GridView)
前面有文章介绍我们如何手动方式实现 SAP 的自动化,详见: http://support.i-search.com.cn/article/1538017933135
但对有些特殊的表格数据使用 Tracker 并没有很好的将表格数据的内容抓取出。所以本章介绍一下此类数据的操作及获取方式
-
需求说明
用户需求:
1、点击上图红框的图标按键
2、获取表格中红框的单元格数据 -
前提条件
使用 Tracker 进行抓取发现只能抓取到最外层的元素,并且元素类型为(GuiShell (122) - SubType: GridView)见下图所示 -
实现方式
使用 Tracker 进行 python 进行代码录制
点击录制后,在 SAP 界面上面点击 上图需求中的两个位置
录制完成后录制代码区代码如下:
session.findById("wnd[0]/usr/cntlGRID_CONT0050/shellcont/shell").setCurrentCell(2, "CLAS")
session.findById("wnd[0]/usr/cntlGRID_CONT0050/shellcont/shell").selectedRows = "2"
session.findById("wnd[0]/usr/cntlGRID_CONT0050/shellcont/shell").pressToolbarButton("&SORT_DSC")
代码解释:
setCurrentCell(2, “CLAS”) : 2 代表第三行、CLAS 代表列名
pressToolbarButton*(“&SORT_DSC”) : *&SORT_DSC 代表按键的名称
- 代码实现
SapGuiAuto = win32com.client.GetObject("SAPGUI")
application = SapGuiAuto.GetScriptingEngine
connection = application.Children(0)
session = connection.Children(0)
win = session.Children(0)
#获取sell控件
id = "usr/cntlGRID_CONT0050/shellcont/shell"
shell = win.findById(id)
#获取单元格的值
cell = shell.getCellValue(2, "CLAS")
#点击上面的按键
shell.pressToolbarButton("&SORT_DSC")
写的很好,点赞了。 👍