我想创建一个 Sikuli 脚本来确定应用程序或软件是否安装在 Mac、Linux 和 Windows 中。我怎样才能做到这一点?如果 Sikuli 不方便,请建议最好的方法。
问问题
862 次
4 回答
0
不通过 Sikuli,但有一些方法可以使用 jython 搜索可执行文件。下面的链接将帮助您入门。
于 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 回答