作用
用于为测试自动化、自运行演示程序和其他需要控制鼠标和键盘的应用程序生成本机系统输入事件,还可用于实现自动化脚本,简单的游戏自动化脚本 qq自动发送信息等
目的
便于 Java 平台实现自动测试
实现
首先需要创建一个机器人类
Robot r = new Robot();
如何获取坐标:可以使用qq截图工具等
获取屏幕指定坐标的颜色 返回一个Color对象
Color color = r.getPixelColor(int x,int y);
输出颜色中RGB 蓝 绿 红色分区的值
System.out.println(color.getRed());
System.out.println(color.getGreen());
System.out.println(color.getBlue());
让机器人睡眠指定时间 单位毫秒
r.delay(1000);
鼠标相关操作
将鼠标移动到指定坐标
r.mouseMove(int x,int y);
按下鼠标左键
r.mousePress(InputEvent.BUTTON1_MASK);
按下后要释放该键 否则键就会一直处于按下状态(键盘操作同理)
释放鼠标左键
r.mouseRelease(InputEvent.BUTTON1_MASK);
让机器人自动在每个事件后睡眠指定时间
r.setAutoDelay(50);
里面的值可以根据自身电脑情况酌情修改 电脑卡的话就设高点 因为程序操作不比人手很可能程序操作完你电脑还没反应过来
按键相关操作
按下指定键
r.keyPress(KeyEvent.VK_T);
其中的VK_T为键盘的键码 键盘每个键都对应着一个键码 使用KeyEvent类.调用 想知道键码可以去百度或者查询java的API中的KeyEvent类(鼠标键同理 查询InputEvent类)
释放键
r.keyRelease(KeyEvent.VK_T);
到这就可以实现自动化操作了
比如实现qq自动发送信息
//创建机器人类
Robot r = new Robot();
//让机器人睡眠指定时间 单位毫秒
r.delay(1000);
//让机器人自动在每个事件后睡眠指定时间
r.setAutoDelay(100);
//将鼠标移动到指定坐标 值填获取到的qq聊天窗的坐标
r.mouseMove(1255, 659);
//按下鼠标左键
r.mousePress(InputEvent.BUTTON1_MASK);
//释放鼠标左键
r.mouseRelease(InputEvent.BUTTON1_MASK);
//按下指定键 键码
r.keyPress(KeyEvent.VK_T);
//释放键
r.keyRelease(KeyEvent.VK_T);
r.keyPress(KeyEvent.VK_U);
r.keyRelease(KeyEvent.VK_U);
r.keyPress(KeyEvent.VK_Z);
r.keyRelease(KeyEvent.VK_Z);
r.keyPress(KeyEvent.VK_I);
r.keyRelease(KeyEvent.VK_I);
//空格
r.keyPress(KeyEvent.VK_SPACE);
r.keyRelease(KeyEvent.VK_SPACE);
//回车
r.keyPress(KeyEvent.VK_ENTER);
r.keyRelease(KeyEvent.VK_ENTER);
今天的JAVA机器人类实现自动操作就到这,具体使用看个人需求 得自己慢慢发掘出自己需要做的操作