Python 使用Sikuli检查循环中的图像

Python 使用Sikuli检查循环中的图像,python,sikuli,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)

我在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)
我想让它点击“喜欢”按钮,如果它存在,当它不存在时,我想让它点击关闭按钮,然后重试整个过程

总而言之:

  • 它检查图像
  • 如果不存在,则关闭当前窗口
  • 然后它重新启动整个过程

问题是它只做了一次(正确的)工作,然后就开始关闭所有页面。

我们必须查看一些您正在使用的屏幕截图才能确定,但在我看来,您的循环设置错误。如果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)
到底什么是“接近”?如果这是整页的话,那显然是你的问题。