使用Sikuli检查循环中的图像

时间:2013-06-27 00:25:21

标签: python sikuli

我在Sikuli有一个脚本是一个机器人。它看起来像这样:

for i in range (100):
    find(YoutubeChannelButton)
    click(YoutubeChannelButton)
    wait(3)
    while(1): 
        if exists(LikeButton):
            click(LikeButton)
            wait(6)
            click(Close)
            wait(10)
        else:
            click(Close)
            wait(5)

我希望它点击“喜欢”按钮,如果它存在,当它不存在时,我希望它点击关闭按钮,然后重新尝试重复该过程。

总结如下:

  • 检查图像
  • 如果不存在则关闭当前窗口
  • 然后它重新开始这个过程。

问题在于它完成了一次(正确)工作,然后开始关闭所有页面。

1 个答案:

答案 0 :(得分:1)

我们必须看到一些你正在使用的截图,但我觉得你设置的循环错了。如果LikeButton不存在,则单击close并重新启动循环。除非当前窗口后面的窗口有一个LikeButton,否则仍然将不存在,所以我们也将关闭该窗口,依此类推。

为什么不把它写成

for i in range (100):
    find(YoutubeChannelButton)
    click(YoutubeChannelButton)
    wait(3)
    if exists(LikeButton):
        click(LikeButton)
        wait(6)
        click(Close)
        wait(10)
    else:
        click(Close)
        wait(5)