python gui 自动化_Python驱动SAP GUI完成自动化(四)

小爬最近为了提升自己的常见编程算法,以应对未来日趋复杂的业务场景需求,一直在刷LeetCode的Easy和Medium题,进度很慢,随便一道题都要思考再三,长路漫漫,以至于很长时间都没有更新自动化方面的文章了。不过最近工作中遇到这样一个场景,我们在利用Python驱动SAP GUI时,可能希望多开SAP窗口,实现多个页面同时作业,对自动化脚本进行加速。SAP中的Session就是我们认知中的一个SAP前端界面。通常我们用python连接SAP的脚本如下:

importsys, win32com.client

SapGuiAuto= win32com.client.GetObject("SAPGUI")

application=SapGuiAuto.GetScriptingEngine

connection=application.Children(0)

session= connection.Children(0)

倘若我们有多个页面,则可以用脚本计算得到它的窗口数,关闭其他一些session,仅保留一个session,下面是演示该功能的代码:

sessionCnt = connection.Children.count #获得该connection下到底多少个session

for i inrange(sessionCnt):if i>0:

session=connection.Children(1) #随着session不停被close,剩余session的下标会前移,所以永远操作children1即可关闭多余的session

session.findById("wnd[0]").close()

session=None

session=connection.Children(0)

如果我们想创建多个session,则可以这样做:

for i in range(n): #SAP最多能创建几个会话,是有物理限制的

session.createSession()

如果要同时操作4个session,可以尝试如下代码:

session1=connection.Children(0)

session2=connection.Children(1)

session3=connection.Children(2)

session4=connection.Children(3)

然后我们就可以基于上面的每个session分别执行findById等自动化操作了 (→_→),赶紧动手验证下~

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值