在遍历里面加上判断文本是否存在就会报错:数组索引越界

小戈 2022-4-6 815

在遍历里面加上判断文本是否存在就会报错:数组索引越界,把判断文本删掉就能正常遍历,请问这是什么问题,有什么办法能正常遍历并且识别到某个区域有没有关键字呢

最新回复 (9)
  • 果子哩 2022-4-6
    2
    具体的代码提供一下
  • 小戈 2022-4-6
    3
    Dim 订单列表,被删除数组,a,aa,aaa,aaaa,ID,备注,换货,退款,退款金额,实际金额,b,未处理金额,处理后金额,金额,金额数量,退货,页面列表,页面,c,页面ID,列表字符,页数,matchResultJSON,sRet,bRet

    订单列表  = UiElement.GetChildren(@ui"订单列表",1, {"bContinueOnError":false,"iDelayAfter":300,"iDelayBefore":200})
    被删除数组 =Shift(订单列表)
    For Each a In 订单列表
    aa=CStr(a)
    aaa=Replace(aa,"sellerGridContainer","sellerGridBodyContainer",true)
    aaaa=JSON.Parse(aaa)
    TracePrint(aaaa)
    ID  = aaaa["html"][0]["id"]
    Mouse.Action(@ui"待商家收货","left","click",10000,{"bContinueOnError": false, "iDelayAfter": 300, "iDelayBefore": 200, "bSetForeground": true, "sCursorPosition": "Center", "iCursorOffsetX": 0, "iCursorOffsetY": 0, "sKeyModifiers": [],"sSimulate": "simulate", "bMoveSmoothly": false})
    bRet = Text.Exists(@ui"备注区","生成换货单","instr",1,10000,{"bContinueOnError":false,"iDelayAfter":300,"iDelayBefore":200,"bSetForeground":true})
    Mouse.Action(@ui"按钮_关闭","left","click",10000,{"bContinueOnError": false, "iDelayAfter": 300, "iDelayBefore": 200, "bSetForeground": true, "sCursorPosition": "Center", "iCursorOffsetX": 0, "iCursorOffsetY": 0, "sKeyModifiers": [],"sSimulate": "simulate", "bMoveSmoothly": false})
    Next
  • 小戈 2022-4-6
    4
    果子哩 具体的代码提供一下


    只要有这个判断文本就会遍历第一个没问题,第二个开始就报:数组索引越界。。。。把这个判断本文删了又能正常遍历数组

  • 小戈 2022-4-6
    5
    主要目的是判断备注区有没有符合的文字,如果有对应的文字进行对应的处理
  • 小戈 2022-4-7
    6
    有大佬看下吗
  • 果子哩 2022-4-7
    7
    小戈 有大佬看下吗

     生成换货单,和备注区,是变量还是字符串,如果是变量的话,要设置变量模式,


  • 小戈 2022-4-7
    8
    查找文本是字符串,目标是从界面库选择的
  • 小戈 2022-4-7
    9
    果子哩  生成换货单,和备注区,是变量还是字符串,如果是变量的话,要设置变量模式,
    判断文本的话是可以正常运行的  报错是显示aaaa的值 数组索引越界   如果删了判断文本就不会报错,分开运行都可以正常运行,就是加一起就不行了
  • 果子哩 2022-4-7
    10
    对应输出一下,a,aa,aaa,aaaa.看一下数据结构有没有问题
返回
发新帖