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

 

 




免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM