共计 2204 个字符,预计需要花费 6 分钟才能阅读完成。
自动写代码机器人,免费开通
这篇文章给大家分享的是有关在 Linux 中如何模拟击键和鼠标移动的内容。丸趣 TV 小编觉得挺实用的,因此分享给大家做个参考,一起跟随丸趣 TV 小编过来看看吧。
`
你是否曾经拥有一个梦
mdash; mdash; 你的计算机
可以自动为你干活?
或许,并非因为
你刚看了终结者。
然而,除此之外
脚本和任务自动化
是每个高级用户追寻的梦
如果今天
有许多的解决方案
可以满足这个目标
那么
有时候
就难以从那众多之中采撷那
简洁、聪明而又高效的一个
我
不能假装
是我自己发现了它
而与此同时
却偏爱着那个
整洁的软体 mdash; mdash;xdotool
其方法是如此直观
正如它作为 X11 自动化工具的表露
转换思想
xdotool 可以通过读取文本文件
模拟击键的旋律
以及鼠标的曼舞
`
让 Xdotool 在 Linux 定居
对于 Ubuntu,Debian 或者 Linux Mint,你能够只做:
$ sudo apt-get install xdotool
对于 Fedora,请使用 yum 命令:
$ sudo yum install xdotool
对于 CentOS 用户,可以在 EPEL repo 中找到该包。在启用 EPEL 仓库后,只要使用上面的 yum 命令就可以达成你的愿望。
对于 Arch 用户,可在 Community 仓库中找到该包:
$ sudo pacman -S xdotool
如果你还是找不到你的发行版的对应 xdotool,你可以从它的官方站点下载。
Xdotool 基本功
虽然 xdotool 是那样的直观,但它仍然是个脚本程序。因此,为了要正确地使用它,你还是得了解它的语法。不过敬请放心,相对于程序的功能而言,语法还是比较简单易学的。
首先,模拟击键是很容易的。你可以从终端敲入下面的命令:
$ xdotool key [name of the key]
如果你想要连接两个键,可以在它们之间使用“+”操作符。它看起来像这样:
$ xdotool key alt+Tab
这两个组合键可以为你切换窗口。
要想让 xdotool 帮你输入,可以使用以下命令:
$ xdotool type
这些对于基本的击键而言已经足够了。但是,xdotool 的众多长处之一,就是它可以获取特定窗口的焦点。它可以获取右边的窗口,然后在里面输入,所有你记录下的按键都不会人间蒸发,而是老老实实的如你所愿的出现在那里。要获得该功能,一个简单的命令可以搞定:
$ xdotool search --name [name of the window] key [keys to press]
该命令将在打开的窗口中搜索对应名称的窗口,并聚焦于该窗口,然后模拟击键。
来点更高级的,但很有用哦,xdotool 可以模拟鼠标移动和点击,看这命令:
$ xdotool mousemove x y
你可以将光标定位到屏幕坐标(x,y)(像素)。你也可以使用“click”参数来组合:
$ xdotool mousemove x y
click 1
这会让鼠标移动到(x,y),然后点击鼠标左键。“1”代表鼠标左键,“2”则是滚轮,“3”则是右键。
***,一旦你这些命令根植于你脑海,你也许想要实际转储于文件来编辑并试着玩玩。鉴于此,就会有超过一个语句以上的内容了。你需要的就是写一个 bash 脚本了:
#!/bin/bash xdotool [command 1]xdotool [command 2]etc
或者你可以使用:
$ xdotool [filename]
这里你将命令写入到一个独立的文件中,然后通过将文件名作为 xdotool 命令的参数。
意外收获
作为本文的一个意外收获,这里是 xdotool 的一个具体实例。你可能听说过,也可能没听说过 Bing mdash; mdash; 微软的搜索引擎。在后面的实例中,你会看到你可能从没听过 Bing 奖励:一个程序,可以让你用 Bing 积分兑取亚马逊的礼物卡和其它的一些礼物卡(LCTT 译注:我是从来没听说过~)。要赚取这些积分,你可以每天在 Bing 上搜索累计达 30 次,每次搜索你都会获得 0.5 个积分。换句话说,你必须把 Bing 设为默认搜索引擎,并每天使用它。
或者,你可以使用 xdotool 脚本,在这个脚本中,会自动聚焦到 Firefox(你可以用你喜欢的浏览器来取代它),并使用 fortune 命令生成一些随机单词来实施搜索。大约 30 秒之内,你的日常搜索任务就完成了。
#!/bin/bash for i in {1..30}do WID=`xdotool search --title Mozilla Firefox | head -1` xdotool windowfocus $WID xdotool key ctrl+l xdotool key Tab SENTENCE= $(fortune | cut -d -f1-3 | head -1) xdotool type $SENTENCE xdotool key Return sleep 4done
感谢各位的阅读!关于“在 Linux 中如何模拟击键和鼠标移动”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!
向 AI 问一下细节
丸趣 TV 网 – 提供最优质的资源集合!