Java Robot类实现自动化操作的API详解

news/2024/11/30 9:00:24/

此类用于为测试自动化、自运行演示程序和其他需要控制鼠标和键盘的应用程序生成本机系统输入事件。RRobot的主要目的是便于 Java 平台实现自动测试。

常用的方法有以下几个:

void keyPress(int keycode) 按下指定的键

void keyRelease(int keycode) 释放指定的键

void delay (int ms) 睡眠指定的时间,单位为毫秒

void mouseMove(int x,int y) 将鼠标移动到给定的屏幕坐标上

void mousePress(int buttons) 按下一个或多个鼠标按键

void mouseRelease(int buttons) 释放一个活多个鼠标按键

void mouseWheel(int wheelAmt) 滚动鼠标滑轮

使用步骤

1. 创建Robot对象

Robot robot = new Robot();

2. 控制键盘

键盘上的所有键表示形式为:

数字键,如数字6表示为: KeyEvent.VK_6

字母键,如字母a/A表示为: KeyEvent.VK_A

控制键,如回车键表示为: KeyEvent.VK_ENTER

                  空格键表示为: KeyEvent.VK_SPECE

按键操作通常分为按下、释放这两步。

robot.keyPress(KeyEvent.VK_键);//将某个键按下
robot.keyRelease(KeyEvent.VK_键);//将某个键释放

3. 设置自动化操作的延迟

如果频繁的控制鼠标和键盘,很容易被系统检测出来机器操作,所以设置一定的延迟可以规避风险

robot.delay(500); //延迟0.5秒

4. 控制鼠标

控制鼠标移动到屏幕某个位置(大家可以去下载一个屏幕取点工具,让你可以清楚获取电脑屏幕某一点的具体坐标x,y)

robot.mouseMove(200,200);//将鼠标光标移动至屏幕的(200,200)坐标点

控制鼠标按键

InputEvent.BUTTON1_MASK为鼠标左键参数

InputEvent.BUTTON2_MASK鼠标中键参数

InputEvent.BUTTON3_MASK鼠标右键参数

//实现鼠标左键双击
robot.mousePress(InputEvent.BUTTON1_MASK);
robot.mouseRelease(InputEvent.BUTTON1_MASK);
robot.mousePress(InputEvent.BUTTON1_MASK);
robot.mouseRelease(InputEvent.BUTTON1_MASK);

 控制鼠标滚轮

分为向下滚动和向上滚动

        参数为正数表示向下滚动

        参数为负数表示向上滚动

robot.mouseWheel(10);//向下滚动

http://www.ppmy.cn/news/696276.html

相关文章

如何靠3D建模月入2W+?

互联网的发展形态一直以来都是以2D为主,现在随着3D技术的不断进步,将会有越来越多的互联网应用会以3D的形式来呈现给用户。 什么是3D “3D"是three-dimensional的缩写,就是三维图形。在计算机里显示3d图形,就是说在du平面里显…

VSC++指针字符串连接不调用现有函数

缘由https://bbs.csdn.net/topics/396381155 char str1[40]{"qwert-\n"}, str2[40]{"poi"}, str3[80]{}, *p str1, *q str2, *h str3;while (*p ! \n)*h *p;while (*q ! \0)*h *q;puts(str3);//缘由https://bbs.csdn.net/topics/396381155

CSS知识点汇总(十一)--回流重绘

文章目录 怎么理解回流跟重绘?什么场景下会触发?1、回流和重绘是什么?2、如何触发回流和重绘3、如何避免回流和重绘的发生 怎么理解回流跟重绘?什么场景下会触发? 1、回流和重绘是什么? 在HTML中&#xf…

英特尔️® 傲腾™ 技术助力中国电信打造更优 CDN 服务

苏炳添、全红婵、张雨霏、杨倩,东京奥运会上,这些健儿让国人铭记于心。不过,很多人看转播时可能不知道,这是一届云上奥运,因为是史上首次采用云计算支撑全球转播。整个过程让转播中心面积缩小 25%、现场工作人员减少 2…

Spring Boot 中的 @HystrixCommand 注解

Spring Boot 中的 HystrixCommand 注解 简介 在分布式系统中,服务之间的调用是不可避免的。但随着服务数量的增加,服务之间的依赖关系也会变得越来越复杂,服务的故障也会变得越来越常见。一旦某个服务出现故障,它所依赖的服务也…

关于RabbitMQ的20个问题

RabbitMQ 1.什么是RabbitMQ?为什么使用RabbitMQ? RabbitMQ是一款开源的,Erlang编写的,基于AMQP协议的,消息中间件; 可以用它来:解耦、异步、削峰。 2.RabbitMQ有什么优缺点? 优…

哆啦A梦里的某一首诗

《哆啦A梦》长篇《宇宙开拓》主题曲《放松心情》作词:武田铁矢 我终于发现, /昨日失去的一切, /虽然还无法完全意会, /可是对我却非常重要。 /加紧脚步追赶, /但是昨日已经远去, /伸长手臂追寻,…

Git,哆啦A梦的时光机(一)

最近公司项目使用的Git作为版本控制工具,在此将学习心得总结如下。文章的本意是尝试用最简单最通俗的方法来描述我眼中的Git,不涉及繁杂的git指令,不具有科学的指导意义,仅供娱乐,欢迎拍砖。 1、Git有什么用&#xff1…