前往: 導覽, 搜尋

使用 TC 的時候難免有一些動作會漏溝,這時候需要更強壯的方法來執行方法2 WaitWindow

Flow003.jpg

之前 "使用 TC 的時候難免有一些動作會漏溝,這時候需要更強壯的方法來執行"
這意篇文章講的是使用 BuiltIn.Delay(1000) 這個 Function
時間到了 在去檢查指定的屬性,但是這會出現一個嚴重的缺點,那件事如果該物件不存在
你又去 Access 他的話那 TC 就會在 Log 上面給你一個紅色的xx
為了要解決這問題改使用 WaitWindow

function fun1()
{
    /*
       這一行的目的就是在 Go.exe Process 下面等待 "Next>" Button 出現,如果 Next> button 不出現的話就會一直等..
       直到永遠
    */
    var p1 = p1 = Sys.Process("Go.exe");
    p1.Window("#3277x", "win caption").Window("SysTabControl32", "", 1).WaitWindow("Button", "Next>", -1, -1)
}

但是上面有會出現一個缺點,那就是畫出該Button 的 Parent 還沒有出現就去 WaitWindow,醬的話還是會錯
解決辦法就是...

function fun1()
{
    /*有幾層 Window 就等幾次*/
    var p1 = Sys.Process("Go.exe");
    p1.WaitWindow("#3277x", "win caption", -1, -1);
    p1.Window("SysTabControl32", "", 1).WaitWindow("Button", "Next>", -1, -1);
}