該腳本以頁面中 12 個(gè)數(shù)字對(duì)象的截圖創(chuàng)建帶選擇對(duì)象數(shù)組,在 result_list 中列出了期望的選取結(jié)果顯示。運(yùn)行時(shí)使用 openWeb() 方法自動(dòng)打開瀏覽器,進(jìn)入指定頁面。調(diào)用 selectObjs() 與 selectRange() 方法的實(shí)現(xiàn) 3 種不同的多選方式。腳本中自定義方法的實(shí)現(xiàn),如圖 6 所示。
圖 6. 自定義方法的實(shí)現(xiàn)
selectObjs() 方法中調(diào)用 Sikuli 的 click() 方法,以傳入的對(duì)象截圖列表和 Sikuli 定義的 Key Modifier 為參數(shù),實(shí)現(xiàn)了按下 Ctrl 鍵后逐個(gè)點(diǎn)擊對(duì)象完成多選的動(dòng)作。
SelectRange() 方法則實(shí)現(xiàn)了區(qū)域性選取。以 obj_from 和 obj_to 參數(shù)指定選區(qū)的起始位置和結(jié)束位置;或僅使用 obj_from 指定起始位置,同時(shí)設(shè)定水平和垂直方向的偏移量 x、y 來指定選區(qū)。調(diào)用 dragDrop() 方法,傳入起始、結(jié)束位置,即可完成區(qū)域選擇。
驗(yàn)證方式同實(shí)例一所述。
實(shí)例三 Web 頁面中的對(duì)象拖拽移位
本例主要應(yīng)用 Sikuli 的 dragDrop() 方法,實(shí)現(xiàn)對(duì)象的拖拽移位操作。圖 7 中代碼所完成的任務(wù)即為通過拖拽的方式,將指定的圖片移動(dòng)到 Trash 區(qū)域中。
圖 7. 拖拽圖片至 Trash 區(qū)域