首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Sikuli能观察到鼠标指针的变化吗?(响应鼠标与无响应鼠标)

Sikuli能观察到鼠标指针的变化吗?(响应鼠标与无响应鼠标)
EN

Stack Overflow用户
提问于 2016-03-17 02:57:17
回答 1查看 336关注 0票数 0

我正在用Sikuli控制Windows GUI (Sikuli 1.1.0和Windows 7)。令人讨厌的是,向导有时需要很长时间才能加载向导的下一阶段,而在这些情况下,我的Sikuli脚本会崩溃,因为它不会等待它。在这些滞后的时间里,我得到了旋转窗口的圆圈作为鼠标。更糟糕的是,有时还会出现"Next“按钮(我正在与Sikuli一起等待的那个按钮),但是鼠标还没有准备好点击它,并且仍然处于旋转循环模式中,需要额外的20-30秒。我不想在向导的每个阶段指定30多个等待时间,因为这会不必要地、大规模地减慢脚本的执行速度;特别是因为大多数时候我都不需要它。

这里也有类似的报道:How do I get sikuli to wait until the mouse pointer changes from "busy" to "not busy?"

我想知道这个问题是否有新的进展?Sikuli能识别鼠标是否仍然处于旋转循环,没有响应模式,并会等到鼠标恢复正常?

EN

回答 1

Stack Overflow用户

发布于 2016-03-25 09:49:08

我不相信Sikuli支持这个功能,但是您可以在某种程度上解决这个问题。

使用exact匹配,则必须循环,直到要键入的字段从空白字段更改为包含文本的字段(或任何您正在更改的元素)。一旦你发现了变化,你就知道事情不再被锁起来了。

但是基本上,您将被困在循环中,并在循环中执行操作,直到您检测到要执行的操作已经卡住为止。

下面是一个基本的类,您可以使用它来处理这个问题。

代码语言:javascript
运行
AI代码解释
复制
class Element:
    def __init__(self, element, region):
        self.element = element
        self.region = region

    def stateChanged(self):
        if self.region.exists(Pattern(self.element).exact()):
            return False
        return True

gmailEmailField = Element("1458930208197.png", Region(438,239,388,342))

while not gmailEmailField.stateChanged():
    wait(.5)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36058521

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档