这是编写我的Kantu宏的最佳方法吗?

时间:2018-02-26 23:17:21

标签: json imacros browser-automation

在Chrome版本64.0.3282.186上使用Kantu 2.5.2

我的脚本需要为我这样做: 1.按下页面上的搜索按钮 2.如果弹出某个内容,请单击按钮A,B,然后单击C.

它会在一个常量循环中执行此操作,直到A B和C弹出。

这是我的剧本:



{
  "CreationDate": "2018-2-26",
  "Commands": [
    {
      "Command": "click",
      "Target": "id=btnSearchTrade",
      "Value": ""
    },
    {
      "Command": "waitForPageToLoad",
      "Target": "",
      "Value": ""
    },
    {
      "Command": "store",
      "Target": "true",
      "Value": "!Errorignore"
    },
    {
      "Command": "click",
      "Target": "id=UPDOWN1013612",
      "Value": ""
    },
    {
      "Command": "click",
      "Target": "id=btnCreatePickup",
      "Value": ""
    },
    {
      "Command": "click",
      "Target": "/html/body/div[8]/div[3]/div/button[1]/span",
      "Value": ""
    }
  ]
}




问题:Kantu在经历了大约5次之后变得很慢。它每步只需要大约2秒钟,但最终每步需要30秒,每次都会变得更慢。

我有更好的方法可以在Kantu编写脚本吗?我不认为我可以使用免费版本的if / then逻辑。

2 个答案:

答案 0 :(得分:1)

  

我不认为我可以使用if / then逻辑与免费版本。

你可以=>

正如您已经建议的那样,您可以打包"点击B"和"点击C"使用if/endif,只有在点击A成功时才会执行(=检查h !LastCommandOK})

{
  "CreationDate": "2018-2-26",
  "Commands": [
    {
      "Command": "click",
      "Target": "id=btnSearchTrade",
      "Value": ""
    },
    {
      "Command": "waitForPageToLoad",
      "Target": "",
      "Value": ""
    },
    {
      "Command": "store",
      "Target": "true",
      "Value": "!Errorignore"
    },
    {
      "Command": "click",
      "Target": "id=UPDOWN1013612",
      "Value": ""
    },
    {
      "Command": "if",
      "Target": "${!LastCommandOK}",
      "Value": ""
    },  
    {
      "Command": "click",
      "Target": "id=btnCreatePickup",
      "Value": ""
    },
    {
      "Command": "click",
      "Target": "/html/body/div[8]/div[3]/div/button[1]/span",
      "Value": ""
    },
    {
      "Command": "endif",
      "Target": "",
      "Value": ""
    }   
  ]
}

答案 1 :(得分:0)

尝试更新为最新版本。

您应该能够结合使用if / else,whilepause