确定是否使用Sikuli Automation安装了应用程序

时间:2012-08-27 13:23:52

标签: sikuli

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

4 个答案:

答案 0 :(得分:0)

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

Test if executable exists in Python?

答案 1 :(得分:0)

Sikuli不方便,但如果你必须使用它,你可以这样做:

<强>窗

  • 打开“控制面板”,然后转到“添加/删除应用程序”
  • 滚动列表并尝试查找()您正在寻找的应用程序的图标

<强> OSX

  • 打开Finder并转到“应用程序”文件夹
  • 滚动所有窗口并尝试查找()您正在寻找的应用程序的图标

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

答案 2 :(得分:0)

如果您正在寻找命令行程序,Spearson的答案很好。如果你的意思是安装的程序不一定可以从命令行获得,我之前使用过Sikuli来做这件事。

<强>窗: 单击“开始”菜单,键入应用程序名称,查找它以显示在结果中

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

<强>的Linux : 最难的,因为没有一个桌面。但是,他们中的大多数都有类似于Windows开始菜单的功能。

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

  • Windows的主题不同或任务栏位于意外位置
  • 程序未安装“开始菜单”快捷方式
  • Spotlight尚未将应用程序编入索引(因为它刚刚安装)
  • 安装了同名的另一个版本或程序

答案 3 :(得分:0)

我要检查是否安装了记事本:

import os
pathA = os.path.exists(r'C:\Program Files (x86)\Mozilla Firefox\firefox.exe')
print(pathA)

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

/blog - 404 - recommend 301 redirect to /blog/all/    
/blog/all/ -  all posts combined.
/blog/all/category1/ - posts filtered by category1
/blog/all/category2/ - posts filterer by category2