我有一个用java编写的Sikuli脚本,可以单击windows按钮,然后单击出现的“所有程序”。脚本在我的计算机上工作非常好,但是当我将相同的脚本传输到另一台计算机时,它就不能工作了。
代码:
Screen screen = new Screen();
screen.type(Key.WIN);
screen.click(IMAGE_DIR + "program.PNG");我使用了Wait、Pattern等概念,但无法解决这个问题。不确定这是否是锡库利的限制。
发布于 2016-04-11 09:05:24
正如评论中已经提到的,屏幕分辨率上的差异肯定会破坏您现有的脚本,因为Sikuli对它们非常敏感。在这种情况下,唯一的解决方案是重新捕获模式,并在每台机器上使用不同的一组模式。
然而,如果您有这样的问题,但屏幕的决议似乎是相同的,有更多的事情需要检查。
清除类型,这是微软的亚像素渲染的实现,这是为了改善字体的视觉外观。如果您在一台机器上打开此功能,而另一台计算机关闭,这可能是一个问题。
屏幕字体设置的光滑边缘,可以在“性能选项”中的“视觉效果”设置窗口中找到。它做的正是它说的,平滑的窗口字体,以改善外观。与ClearType的情况一样,应该在运行脚本的两台机器上关闭或打开此功能。一般性建议总是要避免这类问题。
发布于 2021-05-24 17:10:07
对于那些仍然在使用Sikuli并且在不同的机器上运行时遇到不一致的人来说,在显示问题的盒子上进行调试是很有帮助的。
有些事情,如各种AppData临时文件不被正确管理的问题,可能会出现在一些个人电脑中,而另一些则不会出现。将IDE安装到不同的地方是件很痛苦的事,但有时它是真正了解出问题所在并能够修复它的唯一方法。
https://stackoverflow.com/questions/36422606
复制相似问题