1. 程式人生 > 其它 >LINUX下的xdotool工具簡介

LINUX下的xdotool工具簡介

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 移動當前視窗位置