当前位置: 首页 > news >正文

xdotool xdotool模拟击键和鼠标移动--CutyCapt是一个截图工具,xvfb-run

最近在做一个生成网站缩略图的功能,从网上查到相关资料,现与大家分享,xvfb这个软件,安装上之后一条命令就能执行此操作。很容易的就生成了自己想要的缩略图。

xvfb-run -运行在一个虚拟的X服务器环境中的指定的X客户端或命令。

xvfb-run --server-args="-screen 0, 1024x768x24" ./CutyCapt --url=http://www.google.com --out=example.png

 Run COMMAND (usually an X client) in a virtual X server environment.

 

 

 

https://www.phpsong.com/2542.html

CutyCapt是一个截图工具
官方网站 http://cutycapt.sourceforge.net/

sudo apt search cutycapt

sudo apt-get install cutycapt

启动的软件窗口太小,设置:

1
xdotool search --name ".*Mozilla Firefox" windowsize 1440 900

 

http://www.cnblogs.com/CraryPrimitiveMan/p/4944982.html

下面来介绍以下xdotool

我用的是ubuntu,安装只需要只想如下命令:

sudo apt-get install 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 命令的参数。

 

项目地址:http://www.semicomplete.com/projects/xdotool/

文档地址:http://www.semicomplete.com/projects/xdotool/xdotool.xhtml

 

关于之前小游戏模拟点击左右箭头的代码如下:

for i in {1..1000}
do xdotool key Left xdotool key Right done

转载于:https://www.cnblogs.com/SZLLQ2000/p/7054196.html

相关文章:

  • J2EE之XML
  • IE8提示console未定义
  • 金额转换,阿拉伯数字的金额转换成中国传统的形式如:(¥1011)-(一千零一拾一元整)输出。
  • oracle11g中SQL优化(SQL TUNING)新特性之Adaptive Cursor Sharing (ACS)
  • 浅析JAVA内部类
  • 将字符串按照单词完全反转---公司面试题
  • UI教程
  • 我想要的是什么,我真的清楚吗?
  • Java数据类型(2)------自动封装拆箱
  • Java实现排序算法(一)
  • JMS 之 Active MQ 的spring整合
  • Java实现排序算法(二)
  • vue项目实战爬坑小记001
  • Java实现排序算法(三)
  • Java通信编程之Socket入门
  • 【编码】-360实习笔试编程题(二)-2016.03.29
  • 【跃迁之路】【735天】程序员高效学习方法论探索系列(实验阶段492-2019.2.25)...
  • CoolViewPager:即刻刷新,自定义边缘效果颜色,双向自动循环,内置垂直切换效果,想要的都在这里...
  • IDEA 插件开发入门教程
  • JavaScript DOM 10 - 滚动
  • Java方法详解
  • leetcode386. Lexicographical Numbers
  • Mybatis初体验
  • PhantomJS 安装
  • python_bomb----数据类型总结
  • scala基础语法(二)
  • TCP拥塞控制
  • WordPress 获取当前文章下的所有附件/获取指定ID文章的附件(图片、文件、视频)...
  • 仿天猫超市收藏抛物线动画工具库
  • 分类模型——Logistics Regression
  • 记一次删除Git记录中的大文件的过程
  • 技术攻略】php设计模式(一):简介及创建型模式
  • 判断客户端类型,Android,iOS,PC
  • 如何实现 font-size 的响应式
  • 数组的操作
  • Java性能优化之JVM GC(垃圾回收机制)
  • #传输# #传输数据判断#
  • #微信小程序:微信小程序常见的配置传值
  • (C语言)共用体union的用法举例
  • (附源码)springboot课程在线考试系统 毕业设计 655127
  • (转)拼包函数及网络封包的异常处理(含代码)
  • (转)我也是一只IT小小鸟
  • (转)自己动手搭建Nginx+memcache+xdebug+php运行环境绿色版 For windows版
  • ./indexer: error while loading shared libraries: libmysqlclient.so.18: cannot open shared object fil
  • .a文件和.so文件
  • .gitignore文件设置了忽略但不生效
  • .net core 控制台应用程序读取配置文件app.config
  • .Net 代码性能 - (1)
  • .net 微服务 服务保护 自动重试 Polly
  • .NET 中各种混淆(Obfuscation)的含义、原理、实际效果和不同级别的差异(使用 SmartAssembly)
  • .net实现头像缩放截取功能 -----转载自accp教程网
  • .sh文件怎么运行_创建优化的Go镜像文件以及踩过的坑
  • /3GB和/USERVA开关
  • @font-face 用字体画图标
  • @SpringBootApplication 包含的三个注解及其含义