1

我想创建一个 Sikuli 脚本来确定应用程序或软件是否安装在 Mac、Linux 和 Windows 中。我怎样才能做到这一点?如果 Sikuli 不方便,请建议最好的方法。

4

4 回答 4

0

不通过 Sikuli,但有一些方法可以使用 jython 搜索可执行文件。下面的链接将帮助您入门。

测试 Python 中是否存在可执行文件?

于 2012-08-27T21:49:34.583 回答
0

如果您正在寻找命令行程序,Spearson 的回答很好。如果您的意思是安装的程序不一定可以从命令行获得,我之前使用过 Sikuli 来执行此操作。

Windows:单击开始菜单,键入应用程序名称,查找它是否出现在结果中

Mac OS:键入command-space或单击 Spotlight 菜单,在此处搜索应用程序名称

Linux:最难,因为没有一个桌面。不过,它们中的大多数都有类似于 Windows 开始菜单的功能。

我喜欢这个解决方案,因为它在操作系统之间基本相同,但它也相当脆弱。一些失败案例是

  • Windows 主题不同或任务栏位于意外位置
  • 该程序没有安装开始菜单快捷方式
  • Spotlight 尚未索引应用程序(因为它刚刚安装)
  • 安装了另一个同名的版本或程序
于 2013-03-11T13:29:22.930 回答
0

斯库利虽然不方便,但如果非要用,可以这样:

视窗

  • 打开控制面板并转到添加/删除应用程序
  • 滚动列表并尝试 find() 您要查找的应用程序的图标

操作系统

  • 打开 Finder 并转到 Applications 文件夹
  • 滚动所有窗口并尝试 find() 您要查找的应用程序的图标

如果查找图标失败,请再次尝试通过文本查找,find("My Application Name")因为视觉引擎并非 100% 准确,因此即使显示图标也可能会失败。

于 2012-08-28T06:49:36.653 回答
0

我检查是否安装了记事本的方法是:

zen = App.open('Notepad')
if (zen != 'None'):
    print('Program is installed!')
    wait(2)
    # Close Notepad again. 
    App.close('Notepad')
else:
    print('Program is not installed!')

或者,如果您知道文件的安装路径:

import os
pathA = os.path.exists(r'C:\Program Files (x86)\Mozilla Firefox\firefox.exe')
print(pathA)
于 2015-07-20T09:13:45.990 回答