如何在查找失败的promp之前扫描图像

2024-10-02 18:23:25 发布

您现在位置:Python中文网/ 问答频道 /正文

这是我需要做的。请让我知道我应该添加或更改什么。你知道吗

问题:在我正在执行的任务中,有时会出现带有滑块的随机弹出窗口。当这个弹出时,Sikuli将抛出一个FindFailed异常。相反,我希望这个脚本扫描一个图像,并执行幻灯片操作,然后重试寻找它之前正在寻找的内容。我很确定我只需要在代码的顶部添加几行。你知道吗

示例:假设它找不到5.png,它将抛出一个提示,请求用户输入。相反,我希望它搜索图像,然后执行幻灯片操作,然后再次开始查找图像5.png,然后继续。你知道吗

代码如下:

Region(example Region)
setFindFailedResponse(PROMPT)
Settings.MoveMouseDelay=0
click("1.png")
click("2.png")
click("3.png")
click("4.png")
click("5.png")
click("6.png")
click("7.png")

Tags: 代码用户图像脚本示例内容pngexample
1条回答
网友
1楼 · 发布于 2024-10-02 18:23:25

也许你可以做一个循环来检测某个弹出窗口是否出现。
例如,您可以使其看起来是否存在弹出式标题。
如果是True,您可以使用PopUp = App.focusedWindow()
那么PopUp就是定义的区域,正好是弹出窗口。

然后制作一张幻灯片条的图片,如果该幻灯片条在PopUp内可见,则可以使用“mouseDown()”和mouseUp()
然后再看看这个图像是否存在。

查看图像是否存在,您可以使用:

if exists(image5): 
    # Do something
else:
    # Do something else 

要在弹出窗口中查找图像,可以使用:

if PopUp.exists(imageScrollbar): 
    # Do something 

当我让Sikuli使用滚动条时,我通常会在滚动条上画3条条纹。

相关问题 更多 >