又是SAP,自动化开发的时候测试数据只有1、2条没发现还有这个问题:查询出来的结果很多,需要滚动鼠标或者滚动条才能看下面的记录。
本来写了个循环,会按句柄循环查看记录,句柄按记录序号自增,但是SAP那些记录的句柄不是按这条记录的序号来的,它跟这条记录在这一屏的位置有关。如果一屏能显示10条,我们一共查询了15条,那么有5条就不在这一屏,需要滚动下鼠标或者滚动条才能看到,假如第一屏显示的10条记录句柄分别是lbl[27,0]、lbl[27,1]……lbl[27,9],当我们滚动第二屏的5条记录,他们的句柄分别是lbl[27,0]、lbl[27,1]……lbl[27,4],第一屏第一条记录和第二屏第一条记录的句柄一样,所以得改写句柄的循环。
改写循环的思路是这样的:查询了序号为1的记录后点击下滚动条,这样序号为2的记录就变成当前屏幕的第一条了,查询了序号为2的记录后点击下滚动条,这样序号为3的记录就变成当前屏幕的第一条了……但是还有一个问题就是:滚动条不能实现把最后一个序号的记录变成当前屏幕的第一条,这个问题也得考虑。
BATCH_SIZE = 10 # 一屏能显示的记录数
m = 24 # 所有记录总条数
for i in range(m):
# 所有记录一屏不能完全显示出来:最后一屏设置成自增句柄ID,
# 前面的设置成查询一个记录就往下拉一下滚动条,使查询过的进入上一屏,保证查询的始终是当前屏的第一条记录
# 句柄ID设置
if m > BATCH_SIZE:
# 等于查询过的