【问题标题】:Checking for an image in a loop with Sikuli使用 Sikuli 在循环中检查图像
【发布时间】:2013-06-24 08:00:06
【问题描述】:

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

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

总之:

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

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

【问题讨论】:

  • 究竟什么是“关闭”?如果这是整个页面,那显然是你的问题。

标签: python sikuli


【解决方案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)

【讨论】:

    猜你喜欢
    • 2016-04-10
    • 2017-09-20
    • 2011-03-10
    • 2014-06-16
    • 1970-01-01
    • 2019-03-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多