填坑之 -SAP 中树形目录

一、需求:

如下图所示:
需要将树形目录下每一个子目录都点开,但是设计器无法拾取该区域。
填坑之 -SAP 中树形目录

二、解决方案:

1、使用工具

tracker

2、拾取结果

下图展示的是该树形目录的索引。
填坑之 -SAP 中树形目录

下图是通过 tracker 工具得到的 Python 代码。可以看出根目录与子目录只是在索引上有差异。
填坑之 -SAP 中树形目录

3、实现

直接循环索引这个值,实现自动化打开所有目录。

注意:
在测试过程中,发现索引为 11 的时候总会报错。下图为代码块中代码:
项目文本,及传入的索引前面有空格符,猜测与该字段整体长度有关,测试了一下,发现索引所在的括号里面的长度一直为 11.

填坑之 -SAP 中树形目录

于是修改代码如下:

session.findById("wnd[0]/usr/cntlCCONTAINER1/shellcont/shell/shellcont[1]/shell[1]").expandNode('%s%d'%(" "*(11-len(str(i))),i))

结果展示:
(他那边用过 while true,这点我到不建议,建议此处使用 for 循环,数字需要大一点,加入 try,在没有该路径直接跳过。)

填坑之 -SAP 中树形目录