Python 西库里脚本
我想写一个sikuli脚本,如果“回收站”已满(第一次执行时),它可以清除“回收站”,并且需要检查图标是否为空并显示(回收站为空) 以下是我尝试的代码: 试试1- 虽然不存在(“RecycleBin-1.png”):-->“回收站已满”时的图像 右键单击(“RecycleBin-1.png”)-->“右键单击回收站”完整图标。 单击(“EmptyRecycle.png”)-->确认图像以删除所有项目Python 西库里脚本,python,sikuli,Python,Sikuli,我想写一个sikuli脚本,如果“回收站”已满(第一次执行时),它可以清除“回收站”,并且需要检查图标是否为空并显示(回收站为空) 以下是我尝试的代码: 试试1- 虽然不存在(“RecycleBin-1.png”):-->“回收站已满”时的图像 右键单击(“RecycleBin-1.png”)-->“右键单击回收站”完整图标。 单击(“EmptyRecycle.png”)-->确认图像以删除所有项目 click("1406033619416.png") --> Image of "Recy
click("1406033619416.png") --> Image of "Recycle bin" is empty
print ("Recycle bin has been emptied")
else:
while exists ("RecycleBin.png"):
print ("Recycle bin is already empty")
试试2-
虽然不存在(“RecycleBin-1.png”):
右键单击(“RecycleBin-1.png”)
单击(“EmptyRecycle.png”)
我的问题是,执行else之前的while循环(或)else部分在sikuli中执行。尽管回收站是空的(或)满的,但sikuli没有进行任何完整的分析,并根据需要执行它
请任何人在这方面帮助我,因为我对sikuli和python比较陌生
谢谢,
V.Prashanth作为第一个选择,请转到Sikuli IDE中代码中显示图标图片的位置。尝试单击图片,然后转到“匹配预览”选项卡,将相似度从默认值.7更改为更高的值(.9或.95),然后查看这是否解决了问题 由于完整回收站和空回收站的图片非常相似,因此提高相似度会迫使Sikuli仅允许在与IDE中捕获的图片几乎相同(90%或95%匹配)时进行匹配,而不是返回任何仅70%匹配的匹配
如果这还不能解决问题,可能还有其他方法可以尝试,但我会先尝试。autoKarma是正确的,你需要增加相似性;因为垃圾图标是静态的,我会一直推到99%。仅供参考,IDE会抑制下面的文本“.similor(0.###)”,但是如果您检查IDE在保存时生成的.py文件,它就会出现在那里 我对你的循环做了更多的修改,我对Sikuli的经验是,你最终会有很多…很多循环,以确保Sikuli能够处理模式识别不可避免的奇怪现象。下面的代码是未经测试的代码,松散地反映了Mac,尽管在开始清除之前,至少我的代码会弹出一个“您确定要删除此项”警告,因此您的相似性可能会有所不同
def take_out_the_trash():
while exists(Pattern("Full_RecycleBin.png").similar(0.99)):
rightClick("Full_RecycleBin.png")
wait 1
while exists(Pattern("EmptyRecycle_Button.png").similar(0.99)):
click("EmptyRecycle_Button.png")
wait 1
while exists (Pattern("Emptying_trash_in_progress.png").similar(0.90)):
wait 2
take_out_the_trash()
对于“正在清空垃圾”图片,请注意不要在图片中看到进度条;只需找到一些可以安全引用的静态文本/菜单 我不太清楚你的问题。当回收站实际已满时,Sikuli是否与“空”回收站的图片不匹配?反之亦然(Sikuli在实际为空时与完整回收站的图片不匹配)?是的,即使我的“回收站”图标显示它为空,Sikuli仍尝试清除回收站并抛出错误。根据上面的代码,我有一个其他部分打印“回收站是空的”,这是根本没有发生。
def take_out_the_trash():
while exists(Pattern("Full_RecycleBin.png").similar(0.99)):
rightClick("Full_RecycleBin.png")
wait 1
while exists(Pattern("EmptyRecycle_Button.png").similar(0.99)):
click("EmptyRecycle_Button.png")
wait 1
while exists (Pattern("Emptying_trash_in_progress.png").similar(0.90)):
wait 2
take_out_the_trash()