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