您的位置 首页 > 数码极客

如何用消息模拟实现鼠标点击

最近在研究基于模拟器的,根据手机号自动添加微信好友的工具开发。由于其中需要打开模拟器、打开微信等,涉及到鼠标模拟点击、字符串输入等等使用。

同时,针对采集中可能需要截取验证码图片,整理了截图的功能。

具体代码如下所示:

package org.crawler; import java.awt.Toolkit; import java.awt.da; import java.awt.da; import java.awt.event.InputEvent; import java.awt.event.KeyEvent; import java.awt.image.BufferedImage; import java.io.File; import javax.imageio.ImageIO; import java.awt.AWTException; import java.awt.Dimension; import java.awt.Rectangle; import java.awt.Robot; public class Test { private static Robot robot; static { try { robot = new Robot(); // 执行完一个事件后,再执行下一个 robot.setAutoWaitForIdle(true); } catch (AWTException e) { e.printStackTrace(); } } /*** * @date 2020年4月8日 下午11:52:22 * * @Title: inputStr * * @Description: 输入字符串; * * @param str 带输入的字符串 * * @throws */ public static void inputStr(String str) {// 字符串 robot.delay(1000);// 等待1秒 Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard(); cli(new StringSelection(str), null); robot.keyPre); robot.keyPre); robot.keyRelease); robot.keyRelease); Sy("输入字符串【" + str + "】完毕"); } /*** * 鼠标移动到某个坐标点; */ public static void moveTo(int x, int y) { robot.delay(1000);// 等待1秒 // 将鼠标指针移动到指定屏幕坐标 robot.mouseMove(x, y); Sy("鼠标移动到【" + x + "," + y + "】坐标点完毕"); } /*** * * 按下/释放一个或多个鼠标按钮, 参数说明: * * buttons: 鼠标按钮掩码, 一个或多个以下标志的组合: * * In 鼠标左键 * * In 鼠标中键 * * In 鼠标右键 * * @date 2020年4月9日 上午12:03:46 * * @throws */ public static void mousePress(int type) { robot.delay(1000);// 等待1秒 if (type == 1) robot.mousePress(In);// 鼠标左键 if (type == 2) robot.mousePress(In);// 鼠标中键 if (type == 3) robot.mousePress(In);// 鼠标右键 Sy("【" + (type == 1 ? "按下鼠标左键" : type == 2 ? "按下鼠标中键" : "按下鼠标右键") + "】完毕"); } /*** * 释放鼠标左键(按下后必须要释放, 一次点击操作包含:按下和释放) * * @date 2020年4月9日 上午12:07:47 * * @throws */ public static void mouseRelease(int buttons) { robot.delay(1000);// 等待1秒 if (buttons == 1) robot.mouseRelease(In);// 鼠标左键 if (buttons == 2) robot.mouseRelease(In);// 鼠标中键 if (buttons == 3) robot.mouseRelease(In);// 鼠标右键 Sy("【" + (buttons == 1 ? "松开鼠标左键" : buttons == 2 ? "松开鼠标中键" : "松开鼠标右键") + "】完毕"); } /*** * 截屏;从X、Y坐标点,截取宽度为imageWidth,高为imageHeight的图像; * * @date 2020年4月9日 上午12:55:46 * * @Title: snapShot * * @Description:截屏; * * @param imageFilePath 图片保存路径(全路径;); * * @param X 截屏开始X轴坐标点; * * @param Y 截屏开始Y轴坐标点; * * @param imageWidth 从X坐标点开始的X轴长度; * * @param imageHeight 从Y坐标点开始Y轴的高度; * * @return void 返回类型 * * @throws */ public static void snapShot(String imageFilePath, int X, int Y, int imageWidth, int imageHeight) { try { // 拷贝屏幕到一个BufferedImage对象screenshot BufferedImage screenshot = robot.createScreenCapture(new Rectangle(100, 100, 400, 100)); File f = new File(imageFilePath); Sy("Save File " + imageFilePath + ""); // 将screenshot对象写入图像文件 ImageIO.write(screenshot, "png", f); Sy("......Finished!\n"); } catch (Exception ex) { Sy(ex); } } }

今天就说这么多吧,下次详细的介绍一下基于模拟器自动添加微信好友的方法。

责任编辑: 鲁达

1.内容基于多重复合算法人工智能语言模型创作,旨在以深度学习研究为目的传播信息知识,内容观点与本网站无关,反馈举报请
2.仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证;
3.本站属于非营利性站点无毒无广告,请读者放心使用!

“如何用消息模拟实现鼠标点击”边界阅读