发现一个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 移动当前窗口位置

 

 



posted @ 2021-01-04 15:18  小刚学长  阅读(7500)  评论(0编辑  收藏  举报