Desktop Automation 桌面自動化應用中的鍵盤控制是我們最常用上的一個應用之一,許多時候我們可以利用鍵盤輸入工具,來預先輸入我們需要寫下的內容,或者是快速地完成複製貼上工作,來幫助我們在自動化工作中,更加有效的使用 API 控制。
今天最主要介紹的為鍵盤的控制,在桌面自動化 (Desktop Automation) 操作中,我們已經介紹過了從螢幕桌面的控制,到最近的滑鼠控制,接下來的輸入工具即是鍵盤輸入內容,這些程式碼可以幫助你自動化各種任務。無論是自動化測試、自動化操作系統還是其他應用場景,這些功能都可以提高工作效率。
建立訓練命名技能群組,點擊『Desktop Automation』後,Open Trainer UI 將進入該物件上截圖。
首先利用這一段程式碼模擬鍵盤輸入,我們利用滑鼠點擊後,將文字 'hello' 發送到目前的應用程式中,這邊背景程式是 word,因此它可以在任何位置被點擊輸入,我們獲得輸出結果 hello。
await api.mouse.move(760, 540)
await api.mouse.clickLeft()
await api.keyboard.type('hello')
接下來我們先進行換行 Enter(),接下來我們在下一段程式碼中 press() 按下 B 按鈕,我們可以從 word 上看到我們的輸出成功了,最後再按下 release() 。
await api.keyboard.enter()
await api.keyboard.press(api.key.B)
await api.keyboard.release(api.key.A)
「複製貼上」,我們日常生活中最用上的功能,我們延續剛剛的內容,先進行滑鼠點擊後 ctrlA() 全選 ctrlC() 複製我們剛剛輸入的所有內容,這段程式碼片段用於模擬全選,接下來因為是複製狀態,所以我們在點擊一次文件,並且利用 ctrlV() 貼上鍵盤的操作,我們可以看到後面文件成功執行。
await api.mouse.move(760, 540)
await api.mouse.clickLeft()
await api.ctrlA()
await api.ctrlC()
await api.mouse.move(760, 540)
await api.mouse.clickLeft()
await api.ctrlV()
這些程式碼片段用於模擬常用控制鍵的操作,包括 ENTER、ESC、BACK 和 TAB。
await api.mouse.move(760, 540)
await api.mouse.clickLeft()
await api.keyboard.escape()
await api.keyboard.tab()
await api.keyboard.enter()
await api.ctrlA()
await api.keyboard.backspace()
我們剛剛有執行過複製的功能了,那我們其實也可以在程式中預先寫入資訊至剪貼簿,並且將內容輸出至 debug 中,以便我們進行確認。
api.clipboard.writeText("雞蛋糕")
let Food = api.clipboard.readText()
console.log(Food)
最後是模擬組合鍵操作,例如按下左 ALT 鍵和 F4 鍵,通常用於關閉 word 應用程式視窗。
await api.keyboard.type(api.key.LeftAlt, api.key.F4)
若是確定內容沒有問題後,即可結束本次的訓練,回到主畫面看看程式碼執行是否正常。
黃仁勳的一句話讓這個世界都瘋了,身為與數據打交道多年的我們能做些什麼呢? 很簡單就是跟著一起瘋。「You Learn the more, you Get the more.」。沒想到鐵人賽又一年了呢,這篇是 【Five mins RPA】 系列文章除此之外也歡迎大家走走逛逛關於我過去的文章
一個正在為 300 多萬訂閱的 Youtuber 服務的資料科學家,擅長將商管行銷導入機器學習與人工智慧,並且從大量的數據中找出 Insight,待過 FMCG、Communication、Digital Marketing,最近一直在資訊圈打滾,趕著不被這波人工智慧浪潮給吞噬,寫文章寫了好一段時間了,期待著這個社會每個人能在各個角力間不斷沖突而漸能找到一個平衡點並回歸最初的初心。