【问题标题】:Sikuli 1.1 observe behaviourSikuli 1.1 观察行为
【发布时间】:2018-04-17 18:46:35
【问题描述】:

我是创建代码的新手。我尝试使用带有观察功能的 Sikuli。当我使用脚本时,它会执行一次,然后再也不执行了。

while(1):
def Handler(event):
    stopObserver
    click(image)
    event.repeat(1)       
    pass

    while(1):
        onAppear("image", Handler)
        observe(FOREVER)

脚本有什么问题?为什么脚本只单击一次图像。如果图像再次出现,则没有任何反应。

【问题讨论】:

  • 您能否解释一下您想要达到的目标,并在此基础上更容易为您指明正确的方向。
  • 我想了解一下观察功能。我从Sikuli Homepage 阅读了信息。我写了一个测试来等待图像(例如出现计算器然后点击“1”“+”“1”“=”)。
  • 今天脚本在重新启动后工作 (?)。当我不使用 event.repeat(1) 时,脚本不起作用。 sikuli 伪 scipt 不使用它。

标签: python automation sikuli observers


【解决方案1】:

Sikuli 的观察者有时会有点混乱。

通常,您使用onXXXXX(观察事件或仅事件)通过Region 注册一个或多个要观察的事件。然后在Region 中开始观察,方法是启动它的观察者,然后根据需要再次停止它。

但是,如果您在继续与屏幕的其他区域交互时不需要观察者在后台运行,在大多数情况下,使用定时wait 会更容易。你可以这样做:

wait(pattern, waitTime)

在脚本流继续之前,这里的等待只会持续waitTime

【讨论】:

  • 如何为一个区域启动一个观察者?我在代码末尾使用了一次observe(FOREVER)。我认为这从之前定义的所有定义的onAppear(xxx) 开始。我必须在处理程序中使用event.repaet(1) 吗?
  • 好的,我尝试了不同的代码 sn-ps。与此同时,我的代码在没有event.repeat(1) 的情况下工作。我将第二个以while(1)开头的块移动了4个空格以开始observe(FOREVER)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-07-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多