多种_ImageSearch,让速度更快

Multiple _ImageSearch, make this faster

提问人:Samuel Masih 提问时间:12/9/2013 更新时间:12/10/2013 访问量:687

问:

嘿,伙计们现在我想知道如何让我的扫描速度更快,找到并点击图像大约需要 6-7 秒。

    Func Prison()
       $prison = _ImageSearch("Admit1.BMP",0,$x,$y,50)
       $prison1 = _ImageSearch("Admit2.BMP",0,$x1,$y1,50)
       $prison2 = _ImageSearch("Admit3.BMP",0,$x2,$y2,50)
             If $prison = 1 Then
             MouseClick("left", $x, $y)
               sleep(2000)
                  send("{ENTER}")
               sleep(3000)
                  send("{NUMPAD2}")
               sleep(1000)
                  Send("{ENTER}")
               sleep(1000)
                  If WinActive("Sidan på www.xxxxxx.nu säger:", "Du har inte råd!") Then
                     sleep(1000)
                     MouseClick("left", 326, 346)
                     sleep(1000)
                     MouseClick("left", 446, 273)
                     sleep(1000)
                     MouseClick("left", 477, 326)
                     sleep(600)
                     send("{8}")
                     sleep(200)
                     send("{0}")
                     sleep(200)
                     send("{0}")
                     sleep(200)
                     send("{0}")
                     sleep(200)
                     send("{0}")
                     sleep(600)
                     MouseClick("left", 666, 326)
                     sleep(1000)
                     send("{NUMPAD2}")
                     sleep(1000)
                  EndIf
             ElseIf $prison1 = 1 Then
             MouseClick("left", $x1, $y1)
               sleep(2000)
                  send("{ENTER}")
               sleep(3000)
                  send("{NUMPAD2}")
               sleep(1000)
                  Send("{ENTER}")
               sleep(1000)
                  If WinActive("Sidan på www.xxxxxx.nu säger:", "Du har inte råd!") Then
                     sleep(1000)
                     MouseClick("left", 326, 346)
                     sleep(1000)
                     MouseClick("left", 446, 273)
                     sleep(1000)
                     MouseClick("left", 477, 326)
                     sleep(600)
                     send("{8}")
                     sleep(200)
                     send("{0}")
                     sleep(200)
                     send("{0}")
                     sleep(200)
                     send("{0}")
                     sleep(200)
                     send("{0}")
                     sleep(600)
                     MouseClick("left", 666, 326)
                     sleep(1000)
                     send("{NUMPAD2}")
                     sleep(1000)
                  EndIf
             ElseIf $prison2 = 1 Then
             MouseClick("left", $x2, $y2)
               sleep(2000)
                  send("{ENTER}")
               sleep(3000)
                  send("{NUMPAD2}")
               sleep(1000)
                  Send("{ENTER}")
               sleep(1000)
                  If WinActive("Sidan på www.xxxxxx.nu säger:", "Du har inte råd!") Then
                     sleep(1000)
                     MouseClick("left", 326, 346)
                     sleep(1000)
                     MouseClick("left", 446, 273)
                     sleep(1000)
                     MouseClick("left", 477, 326)
                     sleep(600)
                     send("{8}")
                     sleep(200)
                     send("{0}")
                     sleep(200)
                     send("{0}")
                     sleep(200)
                     send("{0}")
                     sleep(200)
                     send("{0}")
                     sleep(600)
                     MouseClick("left", 666, 326)
                     sleep(1000)
                     send("{NUMPAD2}")
                     sleep(1000)
                  EndIf
               EndIf
    EndFunc

Firefox 自动化 机器人 Autoit

评论

0赞 Samuel Masih 12/9/2013
@Xenobiologist speedy.sh/SNHAg/Stackoverflow.rar - _ImageSearch .DLL 和 .au3

答:

1赞 Milos 12/10/2013 #1

确保您使用尽可能小的图片,并尽量避免变化。 我猜你的脚本很慢,因为你的搜索目标在移动/变化。这可能就是它没有立即找到它的原因。那是你使用变体吗? 为了加快图像检测速度,应使用较小的搜索区域。 您可以通过使用

$result = _ImageSearchArea("recycle2.bmp",1,0,0,200,200,$x1,$y1,0)

在此示例中,它将搜索屏幕左上角的 200x200 正方形。

您也可以考虑使用 PixelSearch,它的速度要快得多,您还可以缩小搜索区域。