0

我在 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)

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

总而言之:

  • 它检查图像
  • 如果不存在则关闭当前窗口
  • 然后它再次重新启动该过程。

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

4

1 回答 1

1

我们必须查看一些您正在使用的屏幕截图才能确定,但​​在我看来,您的循环设置错误。如果 LikeButton 不存在,它会单击关闭并重新启动循环。除非当前窗口后面的窗口有一个 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)
于 2013-07-06T00:49:54.580 回答