【问题标题】:Sikuli lags after big while loopSikuli 在大循环之后滞后
【发布时间】:2018-04-05 17:38:08
【问题描述】:

我有一个运行 200 次并单击按钮的 while 循环。 运行大约 90 次后,它突然变得慢了大约 8 倍。因此,while 循环效果很好,但它只是无缘无故地开始滞后。

i = 200
while i!= 0:
    click(img)
    sleep(1)
    print i
    i-=1

我不知道这是怎么发生的。有没有其他人经历过这种情况?

【问题讨论】:

  • 我也有同样的问题。

标签: python sikuli


【解决方案1】:

根据here的帖子。

如果您在 MacOS 中遇到此问题,您可以尝试运行 <path to your setup folder>/runsikulix -r yourScript.sikuli 而不是使用 sikuli IDE 运行脚本。

【讨论】:

  • 我不再拥有我的 Mac。有没有人试过这个,所以我可以把它设置为正确的答案?感谢您的回复。
  • 哦,我知道你遇到了同样的问题。那我就把它设为最佳答案。
【解决方案2】:

这可能与您的处理器速度有关。最好使用高速处理器。

使用 wait() 而不是 sleep()。你会得到不同的表现

【讨论】:

  • 我明白你的意思,但为什么要在大约 90 次之后?先尝试等待,然后尝试睡眠。同样的问题。我认为它在睡眠时发生得更快。
【解决方案3】:

试试这个代码:

i = 200 
imgLoc = find("image.png")
while i != 0:
    imgLoc.click()
    wait(1)
    print(i)
    i = i -1 

在您的代码中,click(img) 行一直在寻找屏幕上的图像。
更有效的是首先找到图像,这样我们现在就找到了它的位置。
然后单击图像 x 次。
如果您这样做例如 200 次,这会使代码更快。

我也相信wait() 在某些计算机上运行得更快。
不要问我为什么……

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-11-24
    • 1970-01-01
    • 1970-01-01
    • 2019-01-14
    • 1970-01-01
    • 1970-01-01
    • 2014-06-12
    • 1970-01-01
    相关资源
    最近更新 更多