xdotool 使用笔记

简介

xdotool 是一个用于模拟键盘输入和鼠标事件的命令行工具。它可以在 X11 系统上自动化许多任务,例如自动点击、键盘输入等。该工具特别适用于自动化测试、脚本编写和提高工作效率。

安装

在大多数基于 Debian 的系统(如 Ubuntu)上,可以使用以下命令安装 xdotool:

1
sudo apt-get install xdotool

在基于 Red Hat 的系统(如 Fedora)上,可以使用:

1
sudo dnf install xdotool

基本使用方法

模拟键盘输入
使用 xdotool 来模拟键盘输入:

1
xdotool type 'Hello, World!'

模拟按键
模拟按下和释放一个按键:

1
xdotool key Return

模拟按住一个键:

1
xdotool keydown Ctrl

模拟释放一个键:

1
xdotool keyup Ctrl

模拟鼠标操作
移动鼠标
将鼠标移动到屏幕上的特定位置:

1
xdotool mousemove 100 200

相对当前位置移动鼠标:

1
xdotool mousemove_relative 100 100

点击鼠标
模拟鼠标点击:

1
xdotool click 1

其中,1 代表左键,2 代表中键,3 代表右键。

模拟双击:

1
xdotool click --repeat 2 1

按住和释放鼠标按钮
模拟按下鼠标按钮:

1
xdotool mousedown 1

模拟释放鼠标按钮:

1
xdotool mouseup 1

获取窗口信息
获取当前鼠标的位置:

1
xdotool getmouselocation

获取窗口 ID

获取当前活动窗口的 ID:

1
xdotool getactivewindow

获取鼠标下窗口的 ID:

1
xdotool getwindowfocus

切换窗口
切换到特定窗口:

1
xdotool windowactivate <window_id>

关闭窗口:

1
xdotool windowclose <window_id>

组合操作

xdotool 允许你组合多个操作来实现复杂的自动化任务。例如,打开一个终端,输入命令并执行:

1
2
3
4
xdotool key super+Return
sleep 1
xdotool type 'ls -la'
xdotool key Return

查看帮助信息

xdotool 提供了 –help 选项,可以查看帮助信息:

1
xdotool --help 或者 xdotool -h

常见应用场景

自动化测试:模拟用户操作进行应用测试。
重复性任务:自动化执行频繁的日常任务。
演示和教学:制作演示或教程视频时,自动执行命令或操作。

注意事项

xdotool 依赖于 X11 系统,因此在 Wayland 上可能无法正常工作。
执行模拟操作时,请确保目标窗口处于活动状态或已聚焦,否则操作可能不会生效。