LINUX下的xdotool工具簡介
阿新 • • 發佈:2022-05-13
xdotool是linux下,類似”按鍵精靈“的工具,在一些自動測試時,經常用到
以上為xdotool正常使用
比如說:
模擬擊鍵a
xdotool key a
模擬兩個鍵alt+tab
xdotool key alt+Tab
自動輸入word
xdotool type 'word'
模擬滑鼠移動+點選,這會讓滑鼠移動到(x,y),然後點選滑鼠左鍵。“1”代表滑鼠左鍵,“2”則是滾輪,“3”則是右鍵。
xdotool mousemove 655 320 click 1
以上是比較基礎的應用,也很常用,特別是在模擬一些操作的時候,非常好用
其實,xdotool還可以做一些其他功能,有時候起到巧妙作用
比如說 查詢某個程序,有哪些窗體
xdotool search "XXXX"
如果存在,會列出該程序下所有窗體的編號(當然編號看起來不方便,但好歹有)
彷佛以下這條命令更加實用點
xdotool search "XXXX" getwindowname %@
這樣可以顯示所有窗體的title(如果不加%@ 則顯示第一條,反而不是很好用)
還可以以下一些命令:
xdotool search . getwindowpid %@
//查詢所有窗體,所在的 程序號(程序號一樣,說明是同一個程序)
xdotool search . getwindowname %@
//查詢所有窗體,並顯示窗體的title
以下內容是抄的,以便不時之需
xdotool key [key name] xdotool key alt+Tab xdotool type '' xdotool search --name [window name] key [key name] 查詢視窗並按鍵 xdotool mousemove x y xdotool mousemove x y click 1 1左鍵 2滾輪 3右鍵 4向上滾 5向下滾 xdotool search --title "..." xdotool key Return 模擬回車鍵 xdotool keydown/keyup super 按下Win鍵不放 xdotool key Super_L 左Win watch -n 10 xdotool key Return 搭配watch使用,實現迴圈10秒敲擊一次回車 xdotool search "Firefox" 獲取視窗名稱 xdotool getwindowname 39845889 在以上指令列出的ID中獲取容器名稱 xdotool getactivewindow 獲取當前啟用的視窗 xdotool windowminimize 最小化視窗 xdotool windowminimize $(xdotool getactivewindow) 最小化當前視窗 xdotool key ctrl+l BackSpace 點選ctrl+l,然後是BackSpace鍵 xdotool search --name gdb key ctrl+c 在視窗名為gdb上點選ctrl+c xdotool mousemove_relative 10 10 滑鼠相對移動 xdotool mousemove_relative --sync 10 10 非同步滑鼠相對移動 xdotool click -repeat 1 3 滑鼠右鍵點選1次 xdotool mousedown/mouseup xdotool getmouselocation 獲取滑鼠位置 xdotool getmouselocation --shell 獲取滑鼠位置(便於獲取資料) 1 eval $(xdotool getmouselocation --shell) 2 echo $X,$Y 即可獲得X,Y位置 xdotool getactivewindow windowmove 10 10 移動當前視窗位置