当前位置: 首页 > 科技观察

在Linux中模拟击键和鼠标移动

时间:2023-03-20 14:39:15 科技观察

`你有没有梦想过——你的电脑可以自动为你做事?也许,不是因为你刚刚看了终结者。但是,除此之外,脚本和任务自动化是每个高级用户的梦想。如果当今有如此多的解决方案可以实现这一目标,有时很难从众多解决方案中挑选出干净、巧妙和高效的解决方案。不能假装我自己发现了它,同时更喜欢那个简洁的软件——xdotool的方法非常直观,因为它是一个揭示变革思维的X11自动化工具。xdotool可以通过读取文本文件来模拟击键旋律要让Xdotool适应Linux对于Ubuntu、Debian或LinuxMint,你可以这样做:$sudoapt-getinstallxdotool对于Fedora,使用yum命令:$sudoyuminstallxdotool对于CentOS用户,可以在EPEL的repo中找到这个包。启用EPEL仓库后,只需使用上面的yum命令即可实现你的愿望。对于Arch用户,可以在社区存储库中找到该软件包:$sudopacman-Sxdotool如果您仍然找不到适合您的发行版的xdotool,您可以从其官方网站下载。Xdotool基础知识尽管xdotool如此直观,但它仍然是一个脚本程序。因此,为了正确使用它,您仍然必须了解它的语法。不过不用担心,相比程序的功能,语法还是比较简单易学的。首先,模拟击键很容易。您可以从终端输入以下命令:$xdotoolkey[键的名称]如果您想连接两个键,可以在它们之间使用“+”运算符。看起来像这样:$xdotoolkeyalt+Tab这两个组合键为你切换窗口。要让xdotool为您键入,请使用以下命令:$xdotooltype''这些对于基本击键来说已经足够了。然而,xdotool的众多优势之一是它能够获得对特定窗口的关注。它可以得到右边的窗口,然后在里面输入。您记录的所有击键不会消失,而是会如您所愿真实地出现在那里。要获得这个功能,一个简单的命令就可以完成:$xdotoolsearch--name[窗口名称]key[keystopress]这个命令会在打开的窗口中搜索对应名称的窗口,并关注这个窗口,然后模拟击键。对于更高级但有用的东西,xdotool可以模拟鼠标移动和点击,请参阅此命令:$xdotoolmousemovexy您可以将光标定位在屏幕坐标(x,y)(像素)。您也可以使用“click”参数来组合:$xdotoolmousemovexyclick1这将使鼠标移动到(x,y)然后单击鼠标左键。“1”代表鼠标左键,“2”代表滚轮,“3”代表鼠标右键。***,一旦您将这些命令牢记在心,您可能想要实际转储文件以进行编辑并尝试使用。鉴于此,会有不止一种说法。您只需要编写一个bash脚本:#!/bin/bashxdotool[command1]xdotool[command2]等,或者您可以使用:$xdotool[filename]这里您将命令写入一个单独的文件,然后通过传递文件名作为xdotool命令的参数。意外的收获作为本文的意外收获,这里有一个xdotool的具体例子。您可能听说过也可能没有听说过Bing—Microsoft的搜索引擎。在接下来的例子中,你会发现你可能从未听说过BingRewards:一个可以让你用Bing积分兑换亚马逊礼品卡和其他礼品卡的程序(LCTT译注:没听说过~).要获得这些积分,您每天最多可以在Bing上进行30次搜索,每次搜索可获得0.5积分。换句话说,你必须让Bing成为你的默认搜索引擎,并且每天都使用它。或者,您可以使用xdotool脚本,在该脚本中您会自动关注Firefox(您可以将其替换为您喜欢的浏览器)并使用fortune命令生成一些随机词来执行搜索。大约30秒后,您的日常搜索任务就完成了。#!/bin/bashforiin{1..30}doWID=`xdotoolsearch--title"MozillaFirefox"|head-1`xdotoolwindowfocus$WIDxdotoolkeyctrl+lxdotoolkeyTabSENTENCE="$(fortune|cut-d''-f1-3|head-1)"xdotooltype$SENTENCExdotoolkey"Return"sleep4done这是总结:我真的很喜欢xdotool,尽管它的全部功能超出了本文涵盖的范围。这确实是一种自动化脚本和任务的简单方法。缺点是它可能不是最有效的。但我会再说一遍,它完成了它的工作,而且学习起来并没有那么麻烦。您如何看待xdotool?与这个工具相比,您更喜欢另一种自动化工具吗?为什么?让我们在评论中知道。原文链接:http://linux.cn/article-3724-1.html