Sikuli 在大 while 循环之后滞后

Sikuli lags after big while loop

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

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

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

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

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

试试这个代码:

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

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

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

根据post here

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