码迷,mamicode.com
首页 > 其他好文 > 详细

pc端自动化

时间:2019-11-17 18:07:36      阅读:129      评论:0      收藏:0      [点我收藏+]

标签:操作   col   效率   坐标   exception   key   ==   时间   ack   

一、为什么要使用自动化?

1.提高工作效率,节约时间,解脱双手。

 

二、自动化的使用场景是什么?

1.重复且大量的工作

2.此工作的工作方式是有一定的规律可循的

 

三、自动化的使用步骤

1.创建java项目

2.编写Robots类

 1 import java.awt.AWTException;
 2 import java.awt.Toolkit;
 3 import java.awt.Robot;
 4 import java.awt.event.InputEvent;
 5 import java.awt.event.KeyEvent;
 6 
 7 public class Robots {
 8     /**
 9      * 移动鼠标的方法
10      */
11     public static final void move(int x,int y,int time) {
12     try {
13     /**创建工具包对象*/
14         Toolkit toolkit = Toolkit.getDefaultToolkit();
15         /**创建自动化对象*/
16         Robot robot = new Robot();
17         robot.mouseMove(x, y);  //将鼠标移动到指定位置
18         robot.delay(time);  //鼠标点击后的睡眠时间
19         }catch (Exception e) {
20             System.out.println("机器人创建失败");
21         }
22     }
23 
24 //////////////////////////////////////////////////////////////////////
25 //////////////////////////////////////////////////////////////////////
26 
27 
28      /**
29      * 鼠标点击操作
30      *
31      * @param x:x坐标
32      * @param y:y坐标
33      */
34     public static final void click(int x, int y,int time) {
35         try {
36             /**创建工具包对象*/
37             Toolkit toolkit = Toolkit.getDefaultToolkit();
38             /**创建自动化对象*/
39             Robot robot = new Robot();
40             /**利用工具包对象获取屏幕分辨率*/
41             if (x == null) {
42                 x = toolkit.getScreenSize().width / 2;
43             }
44             if (y == null) {
45                 y = toolkit.getScreenSize().height / 2;
46             }
47             /**
48              * 移动鼠标到指定位置
49              * 然后按下鼠标左键,再松开,模拟单击操作
50              */
51           for(int i=0;i<count;i++) {
52           robot.mouseMove(x, y);  //将鼠标移动到指定位置
53               //按下鼠标
54           robot.mousePress(InputEvent.BUTTON1_DOWN_MASK);  
55           //释放鼠标 
56            robot.mouseRelease(InputEvent.BUTTON1_DOWN_MASK); 
57             robot.delay(time);  //鼠标点击后的睡眠时间
58             }
59         } catch (AWTException e) {
60             e.printStackTrace();
61         }
62     }
63 
64 /////////////////////////////////////////////////////////////
65 /////////////////////////////////////////////////////////////
66 
67 /**
68 *键盘操作
69 *keycode为键盘的键值
70 **/
71 public static final void press(int keycode,int time) {
72         try {
73             Robot robot = new Robot();
74             robot.keyPress(keycode);   //按下
75             robot.keyRelease(keycode); //松开
76             robot.delay(time);  //休眠时间
77         } catch (AWTException e) {
78             e.printStackTrace();
79         }
80     }
81 }

 

3.编写Key类

1 public class Key {
2     public static final int C = 67;
3     public static final int A = 65;
4     public static final int V = 86;
5     public static final int Enter = 10;
6     public static final int Shift = 16;
7     public static final int Ctrl = 17;
8 }

 

4.测试

1 public static void main(String[] a){
2     //点击x:1000,y:1000,time:1000
3     Robots.click(1000,1000,1000);
4     //按下V键1秒
5     Robots.press(Key.V,1000);
6     //移动x:1000,y:1000,time:1000
7     Robots.move(1000,1000,1000);
8 }

 

 

pc端自动化

标签:操作   col   效率   坐标   exception   key   ==   时间   ack   

原文地址:https://www.cnblogs.com/XueTing/p/11877127.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!