Sikuli没有牺牲鼠标和键盘

时间:2016-07-05 01:34:20

标签: python python-2.7 python-3.x automation sikuli

我对Sikuli不太熟悉。

  1. 我可以使用带有python 3.4的Sikuli或仅使用2.7吗?
  2. 在Sikuli项目中,脚本接管鼠标和键盘,这意味着在运行时您无法处理其他内容。显然这是浪费大量时间。有没有办法运行Sikuli并在同一台计算机上同时处理其他事情?
  3. 我不熟悉虚拟机,但我听说它与Sikuli存在一些问题。有没有办法克服这个问题?

  4. 额外的问题,如何使Sikuli脚本成为用户可以从桌面点击并运行的exe文件,而无需安装任何解释器?

2 个答案:

答案 0 :(得分:1)

  1. Sikuli不是使用Python而是使用Jython。如果您需要更多信息,请参阅Jython official documentation
  2. Sikuli正在使用Java Robot库来控制键盘鼠标并对其进行物理控制。没有办法解决这个问题。
  3. Sikuli与屏幕的视觉内容进行交互,并通过截屏和检测预先保存的模式进行操作。因此,无法在后台运行它。
  4. VM的主要问题与前一段中解释的相同。除非你有一个附有实际屏幕的虚拟机(基本上只是另一个桌面:))
  5. 由于Sikuli正在使用Jython,您可以尝试将您的脚本打包到jar中。有关该主题的相关问题here

答案 1 :(得分:0)

  1. 你也可以在做其他工作的同时使用sikuli。但这并不是直接通过sikuli完成的。我有一个脚本,但我没有直接访问,所以我只是给出了语义。它是使用VNC会话完成的。

    在bash脚本中,启动vnc会话

    将该vnc会话的显示指向sikuli。

    当你在机器上工作时(或通过不同的vnc会话),Sikuli然后在vnc会话上工作

    这一切都必须由bash脚本管理,我不知道批处理/ powershell脚本(甚至是python / perl脚本)是否能够管理它,但是它回答#4它使最终用户体验点击运行(仍然需要翻译或打包到罐子里)

    这适用于unix机器,我不了解Windows,因为我只使用过windows作为VNC客户端

  2. 如果我稍后可以访问该脚本,我会在此处发布相关部分。