我试图将下面的行为编码到sikuli脚本中,但似乎无法理解,即使有文档也不行。
我想在屏幕上找到一些东西(这实际上是文本),然后当右边的文本更改时执行击键操作。我一直在看<code>find()。right()定义一个区域以及onChange()
和observer()
;但是没有真正正确理解文档以便将它们放在一起。
我假设你正在使用西库利IDE并用jython编写。
首先,尝试使用较小的区域,因为search(). right()
将创建一个不知何故较大的区域(延伸到屏幕末尾),如果您为新创建的区域指定较小的维度可能会有所帮助,以降低使用观察者时的计算能力。
第二,指定观察者所需的扫描速率(也会影响效率和所需的计算能力),这是脚本开头的一个设置,用于定义每秒对观察区域执行多少次扫描。代码行如下:<code>设置。ObserveScanRate=10,这将每秒执行10次扫描。
然后,编写两行代码来启动观察器,例如:<code>reg。onChange(50,onchangedFunction)和reg.观察(10,背景=False)
对于< code>reg.onchange(50,onchangedFunction)而言,50是像素的数量,当发生变化时,函数< code>onchangedFunction将被执行。,(50是可能的最小数字,当您检测文本中的变化时,您可能希望使用它)
对于<code>reg。观察(10,background=False),在这里您开始观察区域以检测任何变化,10是系统将观察区域的秒数,第二个参数为true或False,无论您希望扫描在背景中运行(true)
还是在扫描结束前停止代码(False)。
然后您需要实现函数< code>onchangedFunction(这只是一个名称),它可能是这样的:
def onchangedFunction(event):
click(img) #and the rest of the algorithm to be implemented on change
但是在使用<code>reg之前,请注意函数的实现。onchange()并且在允许调用它的范围内。
最后调用reg.stopObserver()
我认为你的代码应该是这样的:
Settings.ObserveScanRate = 10
def onchangedFunction(event):
click(img2)
reg= Region(find(img1).right())
reg.onChange(50,onchangedFunction)
reg.observe(10,background=False)
reg.stopObserver()
MIT设计了一种新颖的图形脚本语言Sikuli,计算机用户 只须有最基本的编程技能(比如会写print"hello world"),他不需要去写出一行行代码,而是用屏幕截图的方式,用截出来的图形元素组合出神奇的程序。 根据MIT研究人员的论文(PDF)描述,使用者只要对Python语言有基本的了解,Sikuli可以利用图形用户界面的截图元素自动的完成大多数编程任务。用研究人 员的举的例子来说,就好
我可以用硒格的四库里吗?如果远程机器会有sikuli库? 另一件事:我在 http://mvnrepository.com上找不到org.sikuli.script的maven dependecies/还有其他方法可以将jar包含到maven中吗?
我已经完成了Sikuli与硒的集成,现在想知道是否有一个链接,我可以在其中学习我可以使用的所有命令使用Sikuli与硒。我尝试了谷歌搜索,我了解了“App”命令,是否有任何其他文档或链接,我可以在其中了解有关可以使用的命令的更多信息。
我想做这样的事情: 项目tests_thing1.sikuli: 并且有类似的类似Tests_Thing2和Tests_Thing3项目
是否有一个已经存在的程序可以创建一个虚拟光标供Sikuli使用,同时用户保持对鼠标光标的控制?我正在寻找在使用Sikuli时使调试代码不那么费力的方法。在这方面的任何提示也是欢迎的!
问题内容: 如何监听基于控件的更改事件? http://jsfiddle.net/NV/kb3gN/1621/ 问题答案: 编辑: 请参阅SebastienLorber的答案,该答案修复了我的实现中的错误。 编辑06/2016:我刚刚遇到了一个新问题,当浏览器尝试“重新格式化”刚刚给他的html时,会导致组件始终重新呈现,这会出现一个新问题。看到 编辑07/2016:这是我的生产实现。它有一些您可