ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

发现一个xdotool,是个神器(转)

2022-08-27 18:02:33  阅读:193  来源: 互联网

标签:发现 search xdotool 10 -- 神器 key 鼠标


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

————————————————
版权声明:本文为CSDN博主「小刚中国」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/winafa/article/details/114866455

标签:发现,search,xdotool,10,--,神器,key,鼠标
来源: https://www.cnblogs.com/arci/p/16631054.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有